Dieser Thread soll folgende älteren Threads ersetzen und fortführen
Beitrag "EPJ14 S. 19: Ein 8bit-Rechner auf dem Spartan-3A-Starterkit "Beitrag "Ein 8bit-Rechner auf dem Spartan-3A-Starterkit"
Zu dem Projekt gibt es den Artikel
http://www.mikrocontroller.net/articles/8bit-Rechner
Projekt-Website: http://www.bomerenzprojekt.de
Positive Eigenschaften der historischen 8bit-Heimcomputer sind:
Man kann sie auch ohne langes Studium vollständig verstehen. Man
hat direkten Zugriff auf die Hardware ohne zwischengeschaltetes
Betriebssystem. Man kann auch als Laie IO-Hardware basteln.
Es gibt kein Multitasking, der Zeitablauf ist übersichtlich.
Dem stehen auf der Negativ-Seite gegenüber der kleine Adressraum
und einige unschöne Eigenschaften der CPUs. Beim 6502: Der 8bit
breite Stackpointer und die nur 8bit breiten Index-Register;
die Abhängigkeit der Dauer eines Verzweigungs-Befehls von der
Frage, ob das Sprungziel im selben 256-Byte-Bereich liegt. Beim
Z80 die nicht so leicht berechenbaren Laufzeiten und das teils
unschöne Befehlsformat, zB. bei der Adressierungsart IX+d.
Das von mir erarbeitete Projekt eines 8bit-Rechners soll kein
Retro-Projekt sein. Der Rechner soll ein moderner Rechner sein.
Wesentlich ist dabei der erweiterte Adressraum der CPU.
Realisierungen des Rechners gibt es nun neben dem Spartan-3A-
Starterkit auch auf dem Spartan-3E-Starter Board und auf dem
Nexys2 Board. Es ist mir wichtig, mit dem Titel dieses neuen
Threads von der Beschränkung auf das S3A-Board wegzukommen.
Es ist gaanz lang her, da war ich derjenige, welcher die Strippen unter
Vaters Märklin-Eisenbahn zog. Kurz genug war ich, um unter den
Holzplatten die Elektrik zu erledigen, welche beiläufig ein
fürchterliches Durcheinander war.
Litzen von Weichen, Schienen, Lampen, Hausbeleuchtungen usw. Sicher
interessant anzuschauen, aber außer für den/die Bauer oder Betreiber des
Ganzen völlig sinnlos, nicht übertragbar auf irgendeine vergleichbare
Anlage, nicht demontier- oder zusammensetzbar. Für den außenstehenden
Betrachter in gewisser Weise faszinierend, auch nett anzuschauen, das
war's dann aber auch schon.
Genauso kommt mir das hier vor, es dient der Befriedigung Deines
Spieltriebs, besitzt keinerlei Nutzwert und ist so unübersichtlich wie
der Kabelverhau, den ich damals produziert hab'.
Has Du denn irgendeinen Mitstreiter, Nachahmer oder auch nur jemand, der
ansatzweise versucht hat zu verstehen, was Du da an Eisenbahschienen und
Kabel zusammenfrickelst?
Was bedeutet dann: "soll kein Retro-Projekt sein", "soll ein moderner
Rechner sein"? Vor allem das "soll", isses nun, oder isses nicht?
Was ist "modern"? Meines Erachtens ist das Ding eine Retro-Bastelei und
modern wär's vor 25 Jahren gewesen. Nur wär' vor 25 Jahren ein frei
verfügbares FPGA, wo in unserer Zeit Dein Gebastel reinpasst, damals ein
außerirdisches Artefakt gewesen.
Wenn Du Spass dran hast, nur zu, wenn der Weg das Ziel ist, dann führ'
auch weiterhin hauptsächlich Selbstgespräche und bastel weiter an Deiner
Eisenbahn, aber versuch' doch bitte nicht den Eindruck zu erwecken, dass
das irgendetwas Anderes als Dein privates Gebastel ist oder wird.
Und da ist's doch völlig wurscht, auf welchem Board das letztendlich
läuft.
MWS schrieb:> ... völlig wurscht, auf welchem Board das letztendlich läuft.
Vielleicht hat ja jemand ein altes S3E-Starter/Nexys2/DE1 und weiss
nicht, was er damit anfangen soll. Je mehr verschiedene Boards es
gibt, umso höher die Chance, dass jemand das System nachbaut.
Tut mir leid, aber deine Website ist ja mal schlimm..
Ist es so kompliziert, alle notwendigen Dateien für ein Board zusammen
in je eine ZIP zu stecken und dabei die Dateiendungen beizubehalten?
Dennis S. schrieb:> @Josef: Biete doch mal einen guten FPGA Kurs an, der würde hier> möglicherweise mehr Interesse finden.
Haha, hast du mal in seinen "VHDL" Code geguckt?
MWS schrieb:> Meines Erachtens ist das Ding eine Retro-Bastelei und> modern wär's vor 25 Jahren gewesen.
Bereits die derzeitige Realisierung hat 512 KByte RAM. Vor 25
Jahren wäre das bei einem 8bit-Rechner nicht möglich gewesen.
Die Kombination von einfacher 8bit-CPU und großem wahlfrei durch
die CPU adressierbarem Speicher gibt es bisher am Markt nicht.
Ausserdem möchte ich behaupten, dass der Befehlssatz der CPU
besser ist als der Befehlssatz der historischen Prozessoren.
Und dann ist da noch der Zeichensatz mit hexadezimalem Ziffernsatz.
Die Ablösung des Dezimalsystems durch das Hexadezimalsystem ist nur
eine Frage der Zeit, das ist sicher. Ich meine, die Ersetzung der als
Ziffern verwendeten Zeichen A..F durch spezielle Ziffernzeichen ist
der jetzt anstehende Schritt. Die Zeichen sind modifizierte Versionen
der bisher verwendeten Zeichen A..F, man muss also nicht umlernen.
Auch dieser Zeichensatz ist alles andere als retro.
Josef G. schrieb:> Bereits die derzeitige Realisierung hat 512 KByte RAM. Vor> 25 Jahren wäre das bei einem 8bit-Rechner nicht möglich gewesen.
Du kapierst es nicht und bastelst weiter an Deiner Eisenbahn.
> Die Kombination von einfacher 8bit-CPU und großem wahlfrei durch> die CPU adressierbarem Speicher gibt es bisher am Markt nicht.
Hat wohl auch niemand darauf gewartet.
> Die Ablösung des Dezimalsystems durch das Hexadezimalsystem ist nur> eine Frage der Zeit, das ist sicher. Ich meine, die Ersetzung der als> Ziffern verwendeten Zeichen A..F durch spezielle Ziffernzeichen ist> der jetzt anstehende Schritt. Die Zeichen sind modifizierte Versionen> der bisher verwendeten Zeichen A..F, man muss also nicht umlernen.
Da bist Du genauso auf dem Holzweg, wie mit Deinem Gebastel.
Ich find' ja Deine Hartnäckigkeit beachtlich, wobei das Ganze den
Eindruck der Zwanghaftigkeit erweckt.
Letztendlich ist das alles nur Dein eigenes Ziel, Deine eigene
Beschäftigungstherapie. Da ist nix Innovatives drin, Du bastelst nach,
was bereits bekannt ist, mit Mitteln, die jetzt verfügbar sind.
Was anderes, als per Definition "Retro" soll das also sein?
Na ja solch trockene Materie verlangt schon eine gewisse Hartnäckigkeit.
@Josef: Welchen konkreten Einsatzzweck hat Dein Computer? Kann es sein
dass Du den völlig aus den Augen verloren hast?
Barnabas schrieb:> Welchen konkreten Einsatzzweck hat Dein Computer?
Er ist zunächst für Hobbyisten gedacht. Wenn viele Hobbyisten
ihn verwenden, wird vielleicht auch einer eine ernsthafte
Anwendung dafür finden. Ich selber weiß derzeit keine.
Josef G. schrieb:> Er ist zunächst für Hobbyisten gedacht. Wenn viele Hobbyisten> ihn verwenden, wird vielleicht auch einer eine ernsthafte> Anwendung dafür finden. Ich selber weiß derzeit keine.
Gerade der von Dir anvisierte "Kundenkreis" interessierter, fähiger
Hobbyisten bastelt doch lieber an eigenen Lösungen. Das macht einfach
mehr Spaß- genauso wie Dir mit Deiner. Alle anderen Leute haben eine
konkrete Anwendung mit erworbener Hardware im Sinn- von der nicht mal Du
eine Vorstellung hast. Und haben kannst. Denn die Mikrocontroller von
heute stellen Dein Projekt locker in den Schatten, hinsichtlich
Leistung, Stromverbrauch, Größe, Preis ... So könnte man es höchstens
als Machbarkeitsstudie bezeichnen. Aber solange Du Deinen Spaß dran hast
hats wenigstens den einen Sinn :-)
Barnabas schrieb:>... bastelt doch lieber an eigenen Lösungen.
Vielleicht hat ja jemand eine altes Exemplar eines
der 4 FPGA-Boards und sucht dafür eine Verwendung.
Josef G. schrieb:> Die Ablösung des Dezimalsystems durch das Hexadezimalsystem ist nur> eine Frage der Zeit, das ist sicher.
Geht das schon wieder los. Junge, du hast nen schweren Realitätsverlust!
Hallo Josef,
zunächst möchte ich meine Hochachtung dafür aussprechen, dass Du solch
ein Projekt überhaupt auf die Beine gestellt hast und auch durchziehst!
Nach kurzem Studium Deiner Quelltexte und Beschreibungen muss ich mich
aber auch dem Vergleich mit der privaten Eisenbahnanlage anschließen.
Leider sind einige Voraussetzungen für ein erfolgreiches
Open-Source-Projekt oder gar eine kommerzielle Nutzbarkeit nicht
erfüllt.
Um eigene Arbeiten aufsetzen zu können, müsste man Deine Quelltexte
grundlegend überarbeiten, da sie schlecht strukturiert sind. Der
CPU-Simulator besitzt nur eine einzige Funktion: main. In selbiger ist
alles enthalten: plain X11, Dateioperation, Simulator, Bedienung. Um
auch nur die Chance auf eine Erweiterung zu haben, muss man eine
vollständige Separation der Funktionalitäten durchführen. Zwar mag das
bisherige Konzept für den derzeitigen Anwendungsfall (minimalistischer
Simulator für händisch gesteuerte Abläufe) ausreichen, aber ein moderner
Simulator sollte auch skriptgesteuert arbeiten, um Regressionstests
durchführen zu können.
Du erhebst selbst den Anspruch, einen modernen Prozessor erschaffen zu
haben. Zwar mag er neu sein, aber leider basierend auf Konzepten der
frühen siebziger Jahre. Um einen wirklich modernen Prozessor zu
entwickeln, sollte nicht die händische Programmierbarkeit in Assembler
im Vordergrund stehen, sondern die Eignung als Zielsystem für Compiler.
Und da muss man auch statistische Untersuchungen betreiben, wie es z.B.
ARM bei der Überarbeitung des Thumb- zum T2-Befehlsatz getan hat.
Ich gehe noch konkret auf ein paar Äußerungen ein.
Josef G. schrieb:> Bereits die derzeitige Realisierung hat 512 KByte RAM. Vor 25> Jahren wäre das bei einem 8bit-Rechner nicht möglich gewesen.
Doch, bereits der HD64180 hatte solche Adressierungsmöglichkeiten,
siehe:
http://en.wikipedia.org/wiki/HD64180
Der Zilog Z800 wurde leider nie als Serienprodukt hergestellt, sondern
nur ein paar Entwicklungmuster. Auch er war ein "aufgebohrter Z80" mit
einigen sehr, sehr interessanten Eigenschaften. Zilog lizensierte später
jedoch den HD64180.
Wenn Du den Anspruch erhebst, Dein Prozessor sei neuartig, musst Du ihn
mit aktuellen Produkten vergleichen und nicht krampfhaft mit Produkten,
deren Konzepte auch schon vor 25 Jahren veraltet waren. Beachte, dass
die achtziger Jahre z.B. auch die 68xxx, ARM, MIPS, SPARC
hervorbrachten!
> Die Kombination von einfacher 8bit-CPU und großem wahlfrei durch> die CPU adressierbarem Speicher gibt es bisher am Markt nicht.
Das ist grundlegend falsch. Du hast Dich offenbar nicht mit hinreichend
vielen Prozessorfamilien vertraut gemacht.
> Ausserdem möchte ich behaupten, dass der Befehlssatz der CPU> besser ist als der Befehlssatz der historischen Prozessoren.
Ein ehemaliger Kollege von mir hat sehr fundierte Studien zur Codedichte
von Befehlssätzen durchgeführt. Der Favorit war hierbei die M16C-Familie
von Mitsubishi/Renesas.
Speicherbänke sind nur eine äußerst üble Krücke, deren Nachteile sich
zeigen, wenn man mit Interrupts arbeitet und es keine "Schattenregister"
o.ä. gibt, in denen eine andere Bankkonfiguration verwendet wird. Wir
sehen ja auch an den frühen PCs, welche Probleme durch
Adressraumerweiterungen verursacht werden, siehe z.B. das ominöse
A20-Gate oder die Konfiguration der DMA-Controller.
Eine Prozessorarchitektur, die hierfür keine wirklich sehr guten
Lösungswege aufweist, ist nicht modern, sondern nur mit sehr viel
Wohlwollen als "retro" zu bezeichnen.
> Die Ablösung des Dezimalsystems durch das Hexadezimalsystem ist nur> eine Frage der Zeit, das ist sicher.
Das mag sein, aber vorher wird sich noch entweder Esperanto oder Volapük
als Weltsprache durchsetzen. Vielleicht besitzt ein Großteil der
Menschheit aber auch ein bislang unentdecktes Gen, welches in Kürze zu
einer weit verbreiteten Tetra- oder Oktodaktylie führt. Dann würden
natürlich die Kinder weltweit gleich mit dem "richtigen" Zahlensystem
beginnen.
Die Einführung des "Neugrades" mit 100° oder 400° pro Vollkreis war ja
auch von durchschlagendem Erfolg gekrönt.
Gruß,
Andreas
Andreas Schweigstill schrieb:> Gruß,> Andreas
Da hast du gerade einen wirklich langen Beitrag vergeudet. Schau dir mal
seine anderen Threads an, in denen es schon im das gleiche Thema ging.
Dann wirst du feststellen, dass du nicht durch seinen Wahrnehmungsfilter
dringen wirst. Alles was nicht in seine Sicht der Realität passt, nimmt
er einfach nicht wahr.
@ Andreas Schweigstill
Danke für die sachliche Argumentation.
> müsste man Deine Quelltexte grundlegend überarbeiten
Die Aussage bezieht sich offenbar vor allem auf das von mir
so genannte Emulationsprogramm. Und da kann ich nur sagen: Bitte
sehr, nur zu. Ich sage auf meiner Website ausdrücklich, dass ich
nicht den Anspruch erhebe, über die Nutzung der C-Quelltexte zu
bestimmen. Wenn jemand das Emulationsprogramm überarbeiten will,
habe ich nichts dagegegen, ich würde es sogar begrüßen.
> Um einen wirklich modernen Prozessor zu entwickeln, sollte nicht> die händische Programmierbarkeit in Assembler im Vordergrund> stehen, sondern die Eignung als Zielsystem für Compiler.
Befehlssätze für 16/32/64-Bit-CPUs sind wohl unvermeidlich so
komplex, dass Assembler-Programmierung nichts für den Alltag ist.
Das gilt nicht für 8bit-CPUs, und für Hobbyisten
ist Assembler-Programmierung das einzig wahre.
> Speicherbänke sind nur eine äußerst üble Krücke, deren> Nachteile sich zeigen, wenn man mit Interrupts arbeitet
Demnach passt das Bank-Konzept der CPU zu der Tatsache, dass
die CPU keine Interrupts hat. Wobei ich zugeben muss, dass die
fehlenden Interrupts vielleicht ein Schwachpunkt der CPU sind.
Die CPU ist ausgelegt für exakt berechenbare Programmlaufzeiten.
Anstelle von Timern verwendet man den CPU-Takt zur Realisierung
vorgegeber Zeitintervalle. Entsprechende Software zu schreiben
ist nur anfangs mühsam und gewöhnungsbedürftig.
Ich habe den Verzicht auf Interrupts selber nicht vollständig
durchdacht. Ich würde mir erhoffen, dass Hobbyisten an dem
System ausprobieren, wie weit man ohne Interrupts kommt.
> Wir sehen ja auch an den frühen PCs, welche Probleme> durch Adressraumerweiterungen verursacht werden
Diese Probleme entstehen, wenn sich bei einer CPU mit
großem linearem Adressraum im nachhinein herausstellt,
dass der Adressraum doch nicht ausreicht. Gerade das
wird bei meiner CPU vermieden, indem die seitenweise
Adressierung von vornherein eingeplant ist.
> Das mag sein, aber vorher wird sich noch entweder> Esperanto oder Volapük als Weltsprache durchsetzen.
Wenn es gelänge, den vorgeschlagenen Zeichensatz zu etablieren,
könnte dies zu einer schleichenden Ausbreitung des Hexadezimal-
systems im Alltag führen. Vielleicht geht dann alles auf
einmal viel schneller als man heute meint.
Josef G. schrieb:> Wenn es gelänge, den vorgeschlagenen Zeichensatz zu etablieren,> könnte dies zu einer schleichenden Ausbreitung des Hexadezimal-> systems im Alltag führen.
Das ist doch hanebüchener Unsinn. Warum sollte man einen Riesenschaden
volkswirtschaftlicher Natur erzeugen, nur um die Kompatibilität der
menschlichen Rechenweise zum Computer zu schaffen? Das Ziel ist, dass
der Rechner dem Menschen dient und nicht umgekehrt.
Wobei es bei Dir bereits umgekehrt ist, Du bist nur noch der Sklave
Deines Albtraums in VHDL, Du dienst bereits der Maschine :D
Du glaubst Visionen zu haben, kannst aber nicht mal über Deinen recht
kleinen Pappkarton, der Dir als Gefängnis dient, hinaus schauen.
Damit meine ich Deine Manie etwas hinterherzuhängen, was keinerlei
Zukunft hat. Nur weil Du bereits einen Riesenaufwand getrieben hast und
nur weil Du es Dir selbst nicht eingestehen kannst und willst, dass
diese Sache ebenso Sinn-, wie Visions-los ist, vermeidest Du es, Dich
oder die Sache selbst zu hinterfragen oder auch nur ansatzweise objektiv
zu betrachten.
Und deswegen wirst Du genauso wie bisher mit Scheuklappen weitermachen
und deswegen wirst Du auch aus jeder Antwort nur das rauslesen was Dir
geeignet erscheint. Ahab, Du bist zu bedauern.
MWS schrieb:> Warum sollte man einen Riesenschaden> volkswirtschaftlicher Natur erzeugen, nur um die Kompatibilität der> menschlichen Rechenweise zum Computer zu schaffen?
Die Sonderstellung des Hexadezimalsystems ist nicht eine Folge der
Tatsache, dass Computer binär rechnen. Sie ist eine mathematische
Tatsache. Es ist umgekehrt so, dass Computer binär rechnen, weil das
Dual/Hexadezimal-System seine mathematische Sonderstellung hat.
Es geht also nicht darum, die menschliche Rechenweise den
Computern anzupassen, sondern der mathematischen
Sonderstellung des Hexadezimalsystems.
Siehe dazu den Link unten auf der Startseite meiner Website.
Josef G. schrieb:> Siehe dazu den Link unten auf der Startseite meiner Website.
Der Link führt zu einem Forum, in dem Du lediglich Deine Wirrungen
weiterverbreitest, mit dem Hinweis auf den wundersamen 8-Bit Rechner.
> Es geht also nicht darum, die menschliche Rechenweise den> Computern anzupassen, sondern der mathematischen Sonderstellung des> Hexadezimalsystems.
Zitat aus dem Thread dort:
> Durch die Prägung auf das Dezimalsystem wird die breite Mehrheit> der Menschen davon abgeschreckt, Computer zu verstehen.
Weiteres Zitat:
> Es ist deshalb schwer vorstellbar, dass Computer jemals in einem> anderen Zahlensystem rechnen werden, auch nicht in tausend Jahren.
Wenn ich mir so anschaue, wie weit Du aus Deiner Pappschachtel raus
sehen kannst, bzw. wie klein die eigentlich ist, so würd' ich solche
Vorhersagen an Deiner Stelle nicht machen. Vorhersagen und Visionen, die
mehr als ein, zwei Monate in die Zukunft gehen, sind dann schon
wagemutig von Dir, von tausend Jahren zu sprechen ist völlige
Selbstüberschätzung :D
Könnte man bitte mit den Beleidigungen und Schmähungen aufhören!
Wenn es zur Sache nichts mehr zu sagen dann schweigt eben.
So was wie
"Du glaubst Visionen zu haben, kannst aber nicht mal über Deinen recht
kleinen Pappkarton, der Dir als Gefängnis dient, hinaus schauen."
und
"Das ist doch hanebüchener Unsinn"
sowie
"Und deswegen wirst Du genauso wie bisher mit Scheuklappen weitermachen
und deswegen wirst Du auch aus jeder Antwort nur das rauslesen was Dir
geeignet erscheint. Ahab, Du bist zu bedauern"
sind reine Beschimpfungen die die ohnehin belastete Diskussion nur noch
weiter vergiften.
MfG,
Fpga Kuechle schrieb:> sind reine Beschimpfungen die die ohnehin belastete Diskussion nur noch> weiter vergiften.
Sind wir hier im Waldorfkinderkarten? Wenn jemand sich hinstellt und
voller Überzeugung und zum wiederholten Male Unsinn von sich gibt, wird
man ihm doch wohl sagen dürfen, dass es ebend Unsinn ist. Das sind keine
Beschimpfungen, das ist einfach nur die Wahrheit, ohne
Weichspühlpädagogikfilter.
Klaus schrieb:> Fpga Kuechle schrieb:>> sind reine Beschimpfungen die die ohnehin belastete Diskussion nur noch>> weiter vergiften.>> Sind wir hier im Waldorfkinderkarten? Wenn jemand sich hinstellt und> voller Überzeugung und zum wiederholten Male Unsinn von sich gibt, wird> man ihm doch wohl sagen dürfen, dass es ebend Unsinn ist. Das sind keine> Beschimpfungen, das ist einfach nur die Wahrheit, ohne> Weichspühlpädagogikfilter.
Wenn jemand sagt das 1 + 1 = 3 ist dann ist das falsch und darauf kann
man ihn hinweisen. Dagegen jemanden als borniert und engstirning
dazustellen wie in:
"Da von Dann wirst du feststellen, dass du nicht durch seinen
Wahrnehmungsfilter
dringen wirst. Alles was nicht in seine Sicht der Realität passt, nimmt
er einfach nicht wahr"
ist keine Richtigstellung oder ein Hinweis sondern einfach nur
Diffamierung und unnötig.
Respektvolle Diskussion hat nix mit Kindergarten zu tun sondern ist eine
ganz normale Umgangsform.
Fpga Kuechle schrieb:> Wenn es zur Sache nichts mehr zu sagen dann schweigt eben.
Dann solltest Du Deinen Ratschlag beherzigen, denn im Gegensatz zu
meinem Post, was sich auf eine Sache bezog, welche der TE ja selbst zur
Diskussion brachte, ist Dein Versuch andere Mitgliedern zu maßregeln,
nicht sachbezogen.
Fpga Kuechle schrieb:> die die ohnehin belastete Diskussion
Entweder der TE redet mit sich selbst oder falls sich ein anderes
Mitglied erbarmt und fundierte Argumente bringt, dann werde
ausschließlich diejenigen Positionen daraus vom TE aufgegriffen, welche
dieser für seine verquere Argumentationskette brauchen kann, alles
andere wird ignoriert.
Was soll denn das noch mit Diskussion zu tun haben?
Wenn man sich mal vorstellt, wie lange es von den allerersten Anfängen
bis zum heutigen Stand der Technik gedauert hat, der TE dagegen glaubt
zu wissen, wie's in 1000 Jahren aussieht, gleichzeitig wie ein
Verbissener an etwas Altem arbeitet und bei der Gelegenheit gleich noch
das Dezimalsystem für obsolet erklärt, weil in seinen Augen hexadezimal
gerechnet werden soll, dann ist's angebracht klar und deutlich zu sagen,
dass dieser Kaiser keine Kleider an hat.
Da muss auch niemand gebauchpinselt werden, denn wenn er seine Sache zur
Diskussion stellt und dann auch noch solche abstrusen Ideen anbringt,
dann sollte er mit der Antwort darauf auch klarkommen können.
Fpga Kuechle schrieb:> Dagegen jemanden als borniert und engstirning> dazustellen wie in:> ist keine Richtigstellung oder ein Hinweis sondern einfach nur> Diffamierung und unnötig.
Das ist keine Diffamierung, sondern eine korrekte Feststellung.
MWS schrieb:> Fpga Kuechle schrieb:>> Wenn es zur Sache nichts mehr zu sagen dann schweigt eben.>> Dann solltest Du Deinen Ratschlag beherzigen, denn im Gegensatz zu> meinem Post, was sich auf eine Sache bezog, welche der TE ja selbst zur> Diskussion brachte, ist Dein Versuch andere Mitgliedern zu maßregeln,> nicht sachbezogen.
Ich kann einfach nicht tatenlos zusehen wie hier auf einen Mitschreiber
rtumgehackt wird. Das hat nichts mit Maßregeln zu tun sondern mit
Gerechtigkeitsempfinden. Vielleicht habt ihr das ja in eurer Schulzeit
so erlebt, wer "Unsinn" sagt ist zum Abschuß freigegeben. Mir ist das
zuwider.
MfG,
Fpga Kuechle schrieb:> Das hat nichts mit Maßregeln zu tun sondern mit> Gerechtigkeitsempfinden.
Du möchtest anderen Diskussionsteilnehmern sagen, wann sie zu schweigen
haben. Das steht Dir nicht zu.
MWS schrieb:> Fpga Kuechle schrieb:>> Das hat nichts mit Maßregeln zu tun sondern mit>> Gerechtigkeitsempfinden.>> Du möchtest anderen Diskussionsteilnehmern sagen, wann sie zu schweigen> haben. Das steht Dir nicht zu.
Jedem steht zu das Unterlassen von öffentlichen Blossstellungen,
Schimpftiraden oder gar Hasspostings einzufordern. Deine Postings in
diesem thread zielen allein auf die de-motivation des threadopeners.
Vielleicht ist Dir das noch nicht bewusst geworden, deshalbe sage ich
das hier in aller Deutlichkeit.
MfG,
Josef G. schrieb:> Beim 6502:> die Abhängigkeit der Dauer eines Verzweigungs-Befehls von der> Frage, ob das Sprungziel im selben 256-Byte-Bereich liegt.
Gibt es dafuer eine Quelle? Ich erinner mich nur, dass bei Befehlen wie
"bne" die Anzahl der Taktzyklen davon abhaengt, ob gesprungen wird oder
nicht.
Fpga Kuechle schrieb:> Jedem steht zu das Unterlassen von öffentlichen Blossstellungen,> Schimpftiraden oder gar Hasspostings einzufordern.
Was schreibst Du denn für einen Unsinn? Und was heißt hier öffentliche
Bloßstellung?
Der TE stellt sich doch selbst bloß, indem er seinen abstrusen Krampf
hier reinstellt, denn das Forum ist öffentlich. Öffentlichkeit ist's
auch, was er selbst sucht, denn sonst könnte er ja auch nicht den
Umstieg der Menschheit vom Dezimal- zum Hex-Sytem propagieren.
Ich weise Dich nochmal darauf hin, dass es bei der Diskussion um ein
legitimes und vom TE eingebrachtes Diskussionsobjekt ging, welches Du
mit Deinem irregeleitetem "Gerechtigkeitsempfinden" gestört hast.
Eigentlich mag ich die Verwendung des Begriffs "Troll" nicht, denn er
wird nur allzugern verwandt, wenn die Argumente ausgegangen sind.
Aber hier trifft's sehr gut auf Dein Verhalten zu, Du störst Die
Diskussion mit dikussionsfremden Argumenten, Du erfüllst alle
Voraussetzungen für einen Troll.
> Deine Postings in> diesem thread zielen allein auf die de-motivation des threadopeners.> Vielleicht ist Dir das noch nicht bewusst geworden, deshalbe sage ich> das hier in aller Deutlichkeit.
Meine Posts zielen darauf ab, das Kind beim Namen zu nennen. Also etwas,
das man in einem technischen Forum erwarten, bzw. voraussetzen kann. Es
ist nicht mein Ziel pädagogisch zu wirken mit einem "brav hat er's
gemacht", wenn das vom TE Gepostete entsprechend kritikwürdig ist.
Ich habe mir den Code auch einmal angeschaut. Der Stil ist faszinierend.
Auch wenn der Code compilierbar ist, heisst es noch lange nicht, dass er
den üblichen Konventionen folgt oder für Andere verständlich ist. So
wird es sehr schwer, Andere zur Mitarbeit zu bewegen.
@ Josef G.
Der Weg ist das Ziel! Wir alle bauen Dinge, die man fast immer auch
billiger kaufen könnte. Aber uns gefällt es, es selbst gebaut zu haben.
Keiner kommt auf die Idee, das die selbtgebaute
Uhr/Wetterstation/Schachspiel ein Verkaufsschlager wird. Es ist dein
Projekt, es hat dir Freude gemacht es zu entwickeln und es hat dich
persönlich weiter gebracht, weil du dabei was gelernt hast. Aber niemand
wird jetzt seine Atmega/ARM/PIC Mikrocontroller damit ersetzen. Und
niemand wird freiwillig zum Hexadezimalsystem wechseln.
Super Ideen ! Dranbleiben.
Bei Zeiten schaue ich mir den jetzigen Stand mal genau an, interessiert
mich !
Eigentlich bin ich auf der Suche nach Ideen für ein KfZ
Beleuchtungssystem auf LED Basis mit einem günstigen Steuergerätekonzept
auf 5V Basis. Ein FPGA Board mit den virtuellen 8Bit Micros könnte ich
mir gut als zentrales STG vorstellen.
Die harte Kritik immer als Anfeuerung verstehen !!! Zeigt ja wunderbar
das wir auf dem Quer- Anders- und über den Tellerand- Denken unterwegs
sind.
Herrlich !!
cu,
Andreas
PS: Aus irgend einem Grund hat die Evolution uns als lokales Optimum mit
fünf Fingern pro Hand ausgerüstet, was bei zwei Händen zehn Finger
ergibt. Was dem zweier- fünfer- und dem Zehner- System Denken schon mal
enorm entgegenkommt. Aber mit dem 16er System habe ich auch Freundschaft
geschlossen als mich die Computerbegeisterung dereinst gepackt hatte.
JustMe schrieb:> PS: Aus irgend einem Grund hat die Evolution uns als lokales Optimum mit> fünf Fingern pro Hand ausgerüstet, was bei zwei Händen zehn Finger> ergibt. Was dem zweier- fünfer- und dem Zehner- System Denken schon mal> enorm entgegenkommt. Aber mit dem 16er System habe ich auch Freundschaft> geschlossen als mich die Computerbegeisterung dereinst gepackt hatte.
... und nicht das Oktal-System vergessen! Kann man auch noch mit 10, äh,
8 Fingern abzählen.
War in den sechziger und siebziger Jahren auch sehr beliebt (DEC PDP-8
inkl. Vorgänger und Nachfolger).
Grüße!
Wie wäre es mit einem System auf der Basis 20? Immerhin entsprecht das
der natürlichen Anzahl der Finger und Zehen. Dazu könnte man den von
Josef entwickelten Zeichensatz erweitern.
Zur Verbesserung des Schriftbildes schlage ich auch einen einheitlichen
Ersatz des Kommas durch ein x vor.
Hier zum Beispiel die Kreiszahl Pi:
Jedes Kind kennt doch das Alphabet und die Zahlen. Also wäre ein System
zur Basis 36 sinnvoller. Das spart Platz und damit Papier und Tinte beim
Schreiben. Und wir lassen das Komma so wie es ist.
Empfehlung: Zum Beschriften der Tastatur verwende man Papierstückchen,
welche mit Tesafilm befestigt werden und so leicht zu entfernen sind.
----------------------------------------------------------------------
Das Vorgehen zum Compilieren des Demo-Programms wird auf der Seite
Emul der Website beschrieben und soll hier nochmal dargestellt werden.
Nach dem Konfigurieren des Boards und Starten der Konfiguration mittels
Tastern gebe man das Kommando 1.DEMO ein (der Punkt im Kommandonamen
steht für einen hier nicht darstellbaren auf der Grundlinie liegenden
Bindestrich). Mit Taste -E wechsle man in die Seite E. Mit den von mir
als upcs und dncs bezeichneten Tasten kann man Text & Cursor auf dem
Bildschirm nach oben und unten verschieben. Man setze mittels Taste BK
die Blockstart-Marke an den Textanfang und die Blockende-Marke an das
Seitenende Zeile ff. Man positioniere den Cursor an den Textanfang und
kehre mit Taste -E in die Seite C zurück. Dann gebe man folgendes ein:
=NEW =PGM +1111
=NEW =EDI +1111
=IN.C +PGM (Punkt: Siehe oben)
=IN.D +EDI (Punkt: Siehe oben)
=MPRO
=ENDM
-PGM
Vorteilhaft ist es, vor =ENDM in der Seite E den Cursor, welcher hinter
dem *RETN steht, eine Zeile weiter nach unten zu verschieben, damit das
Listing nicht die letzte Zeile des Quelltextes überschreibt.
Josef G. schrieb:> (der Punkt im Kommandonamen> steht für einen hier nicht darstellbaren auf der Grundlinie liegenden> Bindestrich)
falls du einen "Unterstrich" meinst...den kann jeder Windows Editor
darstellen, ist über die Tastenkombination "SHIFT und Minus" zu
erreichen
und sieht so aus : _
Gruss Uwe
Uwe B. schrieb:> falls du einen "Unterstrich" meinst...
Den meine ich nicht. Den auf der Grundlinie liegenden
Bindestrich habe ich in meinem Zeichensatz neu eingeführt
gerade um die Notlösung Unterstrich zu ersetzen. Bei meinem
Zeichensatz sind die oberen 128 Zeichen unterstrichene Versionen
der unteren 128 Zeichen. Den Unterstrich gibt es bei mir auch, es
ist das unterstrichene Leerzeichen.
Hi Josef,
ich hab ein Spartan-3A Board und wollte
als "Tester" einspringen
hab dafür eine Stunde eingeplant...
die Stunde ist um, deine CPU läuft auf meinem Board
aber ich komme beim besten willen nicht mit deiner Doku klar
Hier meine Schritte :
1. Die 5 notwendigen Files von deiner Seite runtergeladen
2. Ein neues Projekt in Xilinx-ISE erstellt
3. Ein Bitfile erzeugt
(dafür musste ich im UCF-File die Einträge mit
"BUFFER_TYPE = BUFG" auskommentieren...da gab es bei mir Errors)
(ISE = 13.1)
4. Die Buttons so gedrückt wie beschrieben
=> CPU läuft und VGA-Bild wird angezeigt
5. "versucht" deine Beschreibung durchzugehen
um das "Demo" zum laufen zu kriegen
6. Kapitulation :-(
es gibt keine Doku zum Tastaturlayout
die suche nach dem "Unterstrich" hat mich schon nerven gekostet
...der liegt auf der "Page UP" Taste
und wo bzw. was soll die Taste "-E" sein ?
noch ein Hinweis :
beim normalen tippen werden Großbuchstaben erzeugt
um auf Kleinbuchstaben umzuschalten muss man "STRG" zusätzlich drücken
ich schreib jetzt schon 15 Jahre an PC Tastaturen...aber dieses System
ist mir neu :-)
ich häng ein paar Bilder an und bau das ganze hier wieder ab
ohne "gescheite" Doku wird sich das keiner freiwillig antun ...sorry
Gruss Uwe
Uwe B. schrieb:> es gibt keine Doku zum Tastaturlayout
Das steht doch alles auf der Seite Hawa ganz unten:
Beschriftung der Tastatur. Den auf der Grundlinie
liegenden Bindestrich habe ich dort bi genannt.
Uwe B. schrieb:> und bau das ganze hier wieder ab
Sehr schade, es war doch fast alles geschafft.
Überleg's dir nochmal.
Uwe B. schrieb:> um auf Kleinbuchstaben umzuschalten muss man "STRG" zusätzlich drücken
Zum dauerhaften Negieren der Wirkung der Shift-Taste (STRG)
setzt man den Sh-Modus mittels Taste SM.
Uwe B. schrieb:> die suche nach dem "Unterstrich" ...der liegt auf der "Page UP" Taste
auf der rechten Shift-Taste
Josef G. schrieb:> Überleg's dir nochmal.Bitte
Bei der Eingabe der Operanden im Demo-Programm bitte beachten:
Erster Operand OPA ist signed, Vorzeichen stets angeben.
Zweiter Operand OPB ist unsigned.
Hallo nochmal,
was ich mir überlegt habe ist folgendes...
(jetzt bitte nicht falsch verstehen)
was du suchst sind keine Tester für dein Projekt,
denn das hast du bestimmt schon in aller Ausführlichkeit
selbst getestet
(und wenn du die Hardware vorgibst, sollte es da auch keine Fehler
geben)
sondern du suchst jemand der allein mit deiner Dokumentation
aus den Webseiten dein Projekt "nachvollziehen" und
selbst zum laufen bekommen kann
das deine Arbeit funktioniert wird hier sicher niemand bestreiten,
hab ich ja auch selbst gesehen
aber was bringt es mir wenn ich ein fertiges Projekt bei mir
aufbaue und dann nicht weiß wie ich damit umgehen soll
dazu ist die Doku das "a" und "o" und die ist bei
diesem sehr komplexen Projekt einfach "schlecht"
bzw. von einem außenstehenden nur sehr schwer zu verstehen
das eingeben der paar Zeilen für das Demo
bringt mich da nicht weiter...die würde ich einfach
abschreiben und wüsste immer noch nicht was ich da eigentlich
gemacht habe
also, versuch mehr Zeit in die Dokumentation zu stecken
dann findet sich vielleicht auch jemand der sich damit
weiter beschäftigen will
Gruss Uwe
Hallo Josef,
wie ich bereits geschrieben hatte, lief die Synthese fehlerfrei. Das
Aufspielen auf's Board war auch kein Problem. Ungewohnt ist, das man
drei Tasten zum Starten drücken muß, aber gut.
Aber was gibt man denn nun ein, in Dein System?
Hast Du CP/M schon portiert?
Das was ich auf Deiner Homepage finde sieht alles nach BF [1] aus. Das
muß ich mir wirklich nicht antun.
Viele Grüße
Richard
[1] http://de.wikipedia.org/wiki/Brainf*ck
@ Uwe B. (derexponent)
>ich hab ein Spartan-3A Board und wollte>als "Tester" einspringen
Du bist ein Optimist.
>aber ich komme beim besten willen nicht mit deiner Doku klar
Das ist keine Doku sonderen eine fraktale Chiffrierung.
Ist dir bei Josef noch kein Licht aufgegangen?
Beitrag "wer kann sich noch an den hex-zeichensatz erinnern?"
Josef G. schrieb:Die Struktur de
> Befehlssätze für 16/32/64-Bit-CPUs sind wohl unvermeidlich so> komplex, dass Assembler-Programmierung nichts für den Alltag ist.
Andersrum. Kommerzielle Verwendung bedeutet Programmierung in
Hochsprachen, allenfalls mit sehr geringem Assembler-Anteil. Grund:
höhere Produktivität.
Von der Implementierung her gesehen ist die ursprüngliche ARMv1/2 ISA
ausgesprochen einfach und liesse sich durch eine leichte Modifikation
auch noch weiter vereinfachen (beim dyn shift).
> Das gilt nicht für 8bit-CPUs, und für Hobbyisten> ist Assembler-Programmierung das einzig wahre.
Es ist natürlich Ansichtssache, ob man als Hobbyist den Aufwand in den
reinen Vorgang des Codens stecken will, oder eher ins eigentliche
Problem.
Native ARM Programmierung in Assembler hat übrigens ihren eigenen Reiz,
weil sich mit der bedingten Ausführung und den in den Datenpfad
integrierten Shifts ziemlich gut rumspielen lässt.
> Demnach passt das Bank-Konzept der CPU zu der Tatsache, dass> die CPU keine Interrupts hat.
Banks sind eher für einen Compiler als für Interrupts ein Problem. Für
Interrupts sind das einfach nur zu sichernde Register wie andere auch.
Uwe B. schrieb:> musste ich im UCF-File die Einträge mit "BUFFER_TYPE = BUFG"> auskommentieren ... da gab es bei mir Errors (ISE = 13.1)
Danke für die Information. Habe es geändert.
Richard schrieb:> sieht alles nach BF [1] aus.
Zum Ablauf der Compilation und den dazu erforderlichen Kommandos
ist zu sagen: Solche Abläufe lassen sich automatisieren mit Hilfe
der CX-Datei ("Character-Exe"-Datei, siehe Seite SYS-doku der Website).
Man hätte dann zB. nur ein einziges Steckkarten-Kommando, welches den
gesamten Ablauf steuert und Commandos wie =IN.C +PGM / =IN.D +EDI /
=MPRO ausführen lässt, indem es diese in die CX-Datei schreibt.
Zum Quelltext des Demo-Programms ist zu sagen:
Die Compilersprache des Systems kennt keine arithmetischen Ausdrücke.
Anstelle von Ausdrücken gibt es Folgen von Mikro-Operationen. Dadurch
hat der Programmierer mehr Schreibarbeit, andererseits aber auch die
volle Kontrolle über den tatsächlich ausgeführten Code.
Es ist jedoch folgendes denkbar: Arithmetische Ausdrücke im Quelltext
werden durch ein bestimmtes Sonderzeichen gekennzeichnet. Ein in einer
Steckkarten-Software enthaltener Präprozessor übersetzt die Ausdrücke
in entsprechende Folgen von Mikro-Operationen.
Barnabas schrieb:> Gerade der von Dir anvisierte "Kundenkreis" interessierter, ...> Hobbyisten bastelt doch lieber an eigenen Lösungen.
Die Erweiterbarkeit der Software durch Steckkarten-Kommandos
ist das große Plus des Software-Konzeptes des Systems.
Es wären vor allem Software-Entwickler gefragt.
Josef G. schrieb:> Die Erweiterbarkeit der Software durch Steckkarten-Kommandos> ist das große Plus des Software-Konzeptes des Systems
Ja super! Begeisterungsstürme fegen durchs Land. Was für ein Durchbruch!
Hey Josef, Softwareentwicklung, so faszinierend sie auch sein mag, ist
abgesehen von Forschung/Lehre kein Selbstzweck. Nicht mal Du kannst eine
konkrete Anwendung nennen. Hab so ein bischen das Gefühl Du bist total
im Faszinosum Deiner Bits-und Bytes Kopiereinrichtung gefangen, findest
den Ausgang in die Wirklichkeit nicht mehr. Was bitte anderes als
Strom->Wärme kommt dabei heraus ???
Klaus schrieb:> Weichspühlpädagogikfilter.
Klaus, Klaus, Klaus !
Das ist jetzt aber kompletter sprachlicher Unsinn.
Weichspülpädagogik meinst du. Ein Filter würde dieselbe ja wieder
entfernen.
Dirk schrieb:> Ich fürchte auf die kannst Du lange warten.
Es müssen ja keine Profi-Softwerker sein.
Dennis S. schrieb:> Was für ein Durchbruch!
Wo sonst gibt es diese Erweiterbarkeit? Der Apple2 hatte sie,
aber er hat zur Programmlaufzeit die Kommando-Strings in
Namenslisten suchen müssen. Bei meinem System geschieht
das bei der Compilation.
Dennis S. schrieb:> Was bitte anderes als Strom->Wärme kommt dabei heraus ???
Es soll ja Leute geben, die Computer zum Spielen verwenden,
da kommt auch nichts anderes heraus.
Josef G. schrieb:> Es soll ja Leute geben, die Computer zum Spielen verwenden,> da kommt auch nichts anderes heraus.
Ja und, zählst Du Dich etwa NICHT zu diesen Leuten?
@Falk
Ist doch alles eine Frage der gebotenen Bezahlung für die Beschäftigung
mit seiner Kreation. Die momentan in Aussicht gestellten 150 Euro
dürften von einem reellen Angebot aber noch ziemlich weit entfernt sein
:-)
Josef G. schrieb:> Man setze mittels Taste BK die Blockstart-Marke an den Textanfang> und die Blockende-Marke an das Seitenende Zeile ff.
Wem es zu mühsam ist, auf der Seite SYS-doku im unteren Drittel
im Abschnitt KD-Routinen aus Benutzersicht die Verwendung der
BK-Taste nachzulesen, der kann einfach mit den Cursor-Tasten UP/
DOWN und der BK-Taste so lange herumprobieren, bis es passt.
Noch ein Hinweis: Für Cursor-Bewegung über große Distanz
drücke man die Cursor-Tasten zusammen mit Shift (STRG).
Bert schrieb:> Welchen Sinn hat dieses Gerät?Beitrag "Re: 8bit-Computing mit FPGA"
Ernsthafte Anwendungen wird es vermutlich erst geben, wenn jemand
das Gerät als speziell gefertigte Hardware realisiert, bei welcher die
Steckplätze auch physikalisch Steckplätze sind. Dann kann man Steck-
karten mit spezieller Hardware fertigen, insbesondere IO-Hardware.
Beim Altera DE1 Board reicht das Block-RAM des FPGA nicht, um
die gesamte Software bereits bei der Konfiguration aufzuspielen,
und man muss Software nachträglich per RS232 übertragen.
Auf meiner Website habe ich die Beschreibung des dazu erforder-
lichen Ablaufs verbessert. Ausserdem habe ich den Ablauf zum
Sichern der Software auf SD-Karte vereinfacht. Man muss die
Software dann nicht jedesmal neu vom PC übertragen.
Bert schrieb:> Gibts sowas noch nicht? Computer mit Erweiterungssteckplätzen?
Jeder PC ist ein Computer mit Erweiterungs-Steckplätzen.
Mein System ist aber für einen ganz anderen Zweck gedacht. Es soll
für den Anwender ohne große Vorbildung vollständig verstehbar sein,
und er soll selber Assembler-Programme schreiben können, und
vielleicht auch selber eine Steckkarte basteln können.
Der bereits erwähnte Apple2 war so ein System. Gegenwärtig
ist nach meiner Kenntnis so etwas nicht auf dem Markt.
Oder kennst du ein solches System?
Josef G. schrieb:> Mein System ist aber für einen ganz anderen Zweck gedacht. Es soll> für den Anwender ohne große Vorbildung vollständig verstehbar sein,
Du bist so genial, aber außer Dir versteht es niemand.
Und schon gar nicht ohne verständliche Dokumentaion und ohne Vorbildung.
> und er soll selber Assembler-Programme schreiben können, und> vielleicht auch selber eine Steckkarte basteln können.
Wir Leben im Jahr 2013. Da will man nicht mehr mit Assembler arbeiten
müssen.
Viele Grüße
Richard
Josef G. schrieb:> Bert schrieb:>> Gibts sowas noch nicht? Computer mit Erweiterungssteckplätzen?>> Jeder PC ist ein Computer mit Erweiterungs-Steckplätzen.>> Mein System ist aber für einen ganz anderen Zweck gedacht. Es soll> für den Anwender ohne große Vorbildung vollständig verstehbar sein,> und er soll selber Assembler-Programme schreiben können, und> vielleicht auch selber eine Steckkarte basteln können.
Warum soll der Anwender Assembler-Programme schreiben? Das ist für die
meisten Bereiche einfach nicht mehr zeitgemäß. Warum nicht gleich
Lochkarten?
> Der bereits erwähnte Apple2 war so ein System. Gegenwärtig> ist nach meiner Kenntnis so etwas nicht auf dem Markt.> Oder kennst du ein solches System?
Und warum braucht man so ein System? Es gibt dafür heutzutage Dinge wie
Arduino, Rasperry Pi, usw. die genau die Leute ansprechen die früher
einen Apple II gekauft hätten.
@ Tim . (cpldcpu)
>Warum soll der Anwender Assembler-Programme schreiben? Das ist für die>meisten Bereiche einfach nicht mehr zeitgemäß. Warum nicht gleich>Lochkarten?
Ich stimme für Stiftwalzen aus der Drehorgel!
http://de.wikipedia.org/wiki/Stiftwalze
Wikipedia rulez!!!
>Und warum braucht man so ein System? Es gibt dafür heutzutage Dinge wie>Arduino, Rasperry Pi, usw. die genau die Leute ansprechen die früher>einen Apple II gekauft hätten.
Steve Jobs ist auch schon tot, genauso wie der Apple II! Sorry!
Welcome to the real world, Neo!
Tim . schrieb:> Warum soll der Anwender Assembler-Programme schreiben? Das ist für die> meisten Bereiche einfach nicht mehr zeitgemäß.
Och ist ja albern. Mit Assembler ist es so wie mit der guten alten RS232
Schnittstelle oder auch mit 8-Bit MCUs- das stirbt so schnell nicht aus.
Und wisst ihr warum? Weil das durch Einfachheit überzeugt und an vielen
Stellen nach wie vor bestens und am besten die Anforderungen erfüllt.
Was in C(++) vielleicht mit weniger Codezeilen auskommt erfordert ein
Vielfaches an Lernaufwand- die C(++) Lehrbücher sind mit immer weiter
ausufernder Syntax nicht umsonst so dick! Bei ASM lernt man die paar
Dutzend Anweisungen, studiert das Datenblatt seines bevorzugten 8
Bitters und gut ist. Jedenfalls für allen kleinen Projekte = 90% der
hier im Forum...
Was den Markterfolg von Josefs Maschine anbetrifft, da kann man ja
gelinde gesagt geteilter Meinung sein, aber wo er recht hat hat er
recht.
Moby schrieb:> Tim . schrieb:>> Warum soll der Anwender Assembler-Programme schreiben? Das ist für die>> meisten Bereiche einfach nicht mehr zeitgemäß.>> Och ist ja albern. Mit Assembler ist es so wie mit der guten alten RS232> Schnittstelle oder auch mit 8-Bit MCUs- das stirbt so schnell nicht aus.
"ist für die meisten Bereiche einfach nicht mehr zeitgemäß."
Die Analogie zu RS232 passt gut.
> Vielfaches an Lernaufwand- die C(++) Lehrbücher sind mit immer weiter> ausufernder Syntax nicht umsonst so dick! Bei ASM lernt man die paar> Dutzend Anweisungen, studiert das Datenblatt seines bevorzugten 8> Bitters und gut ist. Jedenfalls für allen kleinen Projekte = 90% der> hier im Forum...
Ja, das mag stimmen. Aber mit dem echten Leben hat "blinky.asm" nicht
viel zu tun. Wenn es um Dinge wie Skalierbarkeit, Wartbarkeit,
zusammenarbeit in großen Teams, Review, Komponentenbasierte Entwicklung
und Entwicklungskosten geht sieht ASM gehacke ziemlich alt aus.
Selbst wenn das nicht der Fall wäre: Wenn es um ein Ausbildungsgerät
geht, muss man auch im Auge behalten was der Markt will. Als Entwickler
wird man es sehr schwer haben einen Job zu finden, wenn sich die
Kenntnisse auf "PIC-Assembler" beschränken.
Du hast vermutlich Recht mit :
Moby schrieb:> Mit Assembler ist es so wie mit der guten alten RS232> Schnittstelle oder auch mit 8-Bit MCUs- das stirbt so schnell nicht aus.
aber nicht wegen diesem Argument :
Moby schrieb:> Bei ASM lernt man die paar> Dutzend Anweisungen,
Die meisten dieser "Anweisungen" sind von der CPU abhängig,
du kannst also mit deinem Wissen von 8Bit AVR CPUs
nicht sofort den Zilog Z80 programmieren
(manche Befehle wird es im AVR geben und im Z80 nicht)
du musst die Befehle also für jede CPU u.U. neu lernen
(siehe die ASM Befehle von Josef.G)
Mit "C" kann man weitestgehened von der CPU unabhängig programmieren
(mit Ausnahme der Register und IO-Zugriffe)
und die Anzahl der Befehle für "Ansi C" hält sich auch in Grenzen
(ich glaube noch was ca. 30 zu wissen und da sind die Typendeklarationen
schon dabei)
Ich glaube z.B. auch das wenn Josef in seiner CPU noch einen Basic
Interpreter eingebaut hätte (und wenn auch nur ein Rudimentärer)
sein ganze Projekt auf mehr "Gegenliebe" gestoßen wäre
eine Art Z80 Spectrum "Basic" in einem FPGA-Board
würde mich mehr reizen als Assembler Befehle neu zu lernen
Gruss Uwe
Zur Rolle der Assembler-Programmierung auf meinem System:
Das System hat eine Compiler-Sprache, der Compiler erzeugt einen
Zwischencode, welcher interpretativ abgearbeitet wird. Die Sprache
stellt Variablen und Kontroll-Strukturen (zB. Schleifen) bereit, und
ruft Routinen auf. Selber enthält sie nur ganz wenige Routinen wie zB.
Incrementieren/Dekrementieren. Der Hauptteil der Routinen liegt auf
den Steckkarten (nCOMMAND), andere liegen im RAM als EXE-Routinen.
Die nCOMMAND und EXE-Routinen werden in Assembler programmiert.
Das ganze ist so gedacht, dass man Anwendungs-Programme in der
Compiler-Sprache schreibt. Wenn der Anwender Routinen braucht,
welche nicht als nCOMMAND auf einer Steckkarte zur Verfügung
stehen, schreibt er sie selber als EXE-Routine.
Nochmal zum Software-Konzept:
Die nCOMMAND und EXE-Routinen können auch aus der Kommandozeile
aufgerufen werden, sofern die in der Kommandozeile eingeschränkte
Möglichkeit zur Variablen-Übergabe ausreicht.
Deine Arbeit in ehren Josef. Aber an deiner projektseite ist nur wenig
wirklich verständlich. Du verwendest deine begriffe tA-halbzyklen und
RP-halbzyklen mit einer selbstverständlichkeit die man als
aussenstehender kaum nachvollziehen kann. Auch finde ich fehlt eine
hierarchische Übersicht, oder ein paar blockdiagramme. Den vhdl
Quellcode hab ich nach dem ich gesehen hab welche kryptischen akronyme
du verwendest besser nicht versucht zu verstehen. Die doku ist sry wenn
ich das sage zu chaotisch als das man dein System auch nur im Ansatz
vollständig verstehen kann. Und bei der doku wirds nicht einfacher. Du
schreibst etwas von vollständigen 8 bit-befehlen und mehreren xyz-
adressregistern und schleifenrückkehrregistern. Du solltest deine doku
grundlegend anders aufziehen. Bis auf das man weiß das du einen 16bit
adressbus verwendest und eine 8bit CPU damit gebaut hast die einen
'speziellen' Zeichensatz für die nibbles 0-9 und a-f verwendet und
ansonsten nichts gemein hat mit dem Standard ASCII ist nicht so wirklich
ersichtlich was das wirklich besondere ist. Irgendein xor mit xlst wenn
bestimmte halbzyklen einer Adresse angesprochen werden .... Sry, man
merkt das DU in deinem Projekt drinsteckst. Aber andere werden sich da
nicht wirklich einfinden können.
Es ist einfach zu unübersichtlich und zu unstrukturiert. So interessant
manche Ideen sein mögen (z.b. Spezielles Register für schleifenzähler
und rücksprungadresse usw). Es muss anders verpackt und verständlich
gemacht werden. Wenn ich von meinen Ideen zur Umsetzung das einfach so
Hin schreiben würde, würde man als aussenstehender auch nichts oder nur
wenig verstehen können. Und das sage ich der das Rad auch gerne mal neu
erfindet und andere Ansätze ausprobiert bzw ausprobieren möchte.
Im übrigen finde ich es nicht schlimm die gefühlte 4635763.te CPU zu
designen. Aber wenn du erwartest das sich da jmd einfinden soll denke
ich musst du grundlegend die doku überarbeiten. Und vllt nicht auf so
Eigenheiten wie den selbstgebauten Zeichensatz zurückgreifen. Wobei
nichtmal wirklich ersichtlich ist warum du da mit 'konventionen'
brichst. Und ich denke dem Anspruch ohne 'viel' einarbeitungszeit die
CPU zu verstehen kannst du bei sovielen 'stilbrüchen' nicht gerecht
werden
Du kannst spaßeshalber ja mal versuchen mein audioprojekt zu verstehen,
wobei das noch weit weg von ner echten CPU ist. Oder ich poste mal meine
aktuellen entwürfe meiner Register-cpu-Idee. Ist alles nicht so komplex,
aber es zeigt die grundlegenden tücken wie man was dokumentiert um es
wirklich vollständig verstehen zu können.
Ansonsten find ich die Idee ja wie gesagt toll. Aber das ding ist
einfach nicht so verständlich. Von vollständig verständlich auch noch
recht weit weg wenn ich mir die doku anschaue.
TheMason schrieb:> und eine 8bit CPU damit gebaut hast die einen 'speziellen'> Zeichensatz für die nibbles 0-9 und a-f verwendet
Die CPU hat doch nichts mit dem Zeichensatz zu tun. ??
In dem Artikel im embedded-projects-Journal 14 Seite 19 finden sich
auf der ersten Seite ausführliche Informationen zur CPU und den in ihr
umgesetzten Ideen (die Bildunterschrift "CPU" unter dem Foto ist Mist.)
Dieser Artikel macht Dein konfuses Projekt nicht besser. Da hast Du nur
davon profitiert dass der Herr dieses Journals händeringend Inhalte
gesucht hat.
Interessier Dich mal zuallererst für Dein Projekt und ob das Ganze einen
praktikablen Sinn ergibt. Denn dann würden die Interessenten von allein
kommen und Du musst sie nicht für 150 Euros organisieren...
@Josef
Ich denke uhu will dasselbe sagen wie ich. Um deine CPU einschätzen oder
annähernd verstehen zu können muss deine doku grundlegend überarbeitet
werden. Zähle bei der doku der CPU doch erstmal die adrressierungsarten
auf, beschreibe genau welche Register es gibt und was sie können. Gehe
dann darauf ein welche befehle es gibt, mit welchen adress-Modi diese
möglich sind. Erkläre die Besonderheiten (z.b. Schleifenzähler), gehe
darauf ein. Erkläre Einschränkungen ggü normalen cpus, z.b. Wenn du
keine interrupts hast, oder keinen stack oder so. Lass die
Timing-Erklärung nen anderes Kapitel füllen als das einleitende Kapitel
der CPU. Gehe genauer auf den addressraum ein und warum es da ne
Umschaltung gibt. Oder z.b. Was es mit IZ0-IZ7 auf sich hat.
Inkrementierst zu Z-Register mit unterschiedlichen werten von 0-7 oder
hast du 8 Z-Register. Erkläre genauer was du mit deinen Registern machen
kannst. Gebe ein sinnvolles blockschaltbild deiner CPU indem die
register und bestimmten andere Dinge in der doku dann auftauchen und
ausführlich erwähnt werden. Achte auf die Formatierung der doku. Diese
doku ist nur ein Fließtext ohne richtige Absätze. Erkläre die
Besonderheiten bzw Features ganz zu Anfang damit sich mögliche
Entwickler oder supporter überhaupt ein Bild der Architektur machen
können. Ich hab nach ner halben std lesen erstmal erfahren das das ne
"normale" akku-Maschine ist. Aber warum p,k,q,r Register und was daran
besonders sind müsste ich mir auch erstmal zusammenraten. Aber genau das
rumgerate will keiner. Schon gar niemand der dich im Prinzip supporten
soll, aber nicht in deiner Gedankenwelt steckt. Wie ich schon sagte :
schau dir mal mein audioprojekt an und sag mir ob du es verstehst und du
es supporten würdest. Ob du alles restlos verstanden hast.
Ich schreib gerade vom meinem Smartphone aus und kann Links irgendwie
nicht richtig einfügen. Such in den Artikeln mal nach Audio-DSP mit
Spartan 3-FPGA.
TheMason schrieb:> Audio-DSP mit Spartan 3-FPGA.
In dem Artikel verstehe ich absolut Null. Ist keine Kritik an dem
Artikel, sondern liegt an meinen fehlenden Vorkenntnissen.
Na endlich bekommt der Josef mal ein Gefühl für technisches
Unverständnis. Ob er nun auch von sich auf die Betrachter seines
Projekts schließen kann???
Audio-DSP mit Spartan 3-FPGA
Naja, auch wenn ich die Hoffnung längst aufgegben habe.
Mal zum Vergleich. Der Picoblaze von Xilinx, der am Anfang mal KCPSM
(Ken Chapman's programable state machine) hieß, DER ist genial. Hat mich
damals vor über 10 Jahren spontan begeistert, war super dokumentiert und
in Null Komman nix ANWENDBAR!!! Damit hab ich u.a. ein kommerzielles
Projekt gemacht, dort liefen ZWEI der Dinger, einer für RX, einer für TX
eines 2 Mbit/s Datenstroms (E1 Telkom Zeugs für Insider). Man musst sich
nicht mit krypischem Murks und aus Anwendersicht unwichigen Details der
Maschine rumschlagen, sondern konnte sich NUR auf die Anwendung
konzentrieren.
Das ist ein Maßstab für gutes Design und Dokumentation!
http://www.xilinx.com/support/documentation/application_notes/xapp213.pdf
Das ist nicht ganz die Originalversion, denn hier heit er schon
Picoblaze, ist aber egal. Die Nachfolger für Sparten3 & Co findet man
hier, wenn gleich das für die Kenner sicher nix Neues ist.
http://www.xilinx.com/ipcenter/processor_central/picoblaze/member/
Josef G. schrieb:> Du hast also Interesse an dem Projekt?
An der Technik ehrlich gesagt nur mäßig. Wenn Du damit vor 40 Jahren
gekommen wärst, wäre es echt innovativ gewesen, aber so...
Nein, Josef, interessant an Deinem Projekt bist eigentlich nur Du:
Du bist ein schlauer Kopf und offensichtlich ein stringenter Arbeiter,
aber mindestens ebenso hervorragend sind deine Defizite:
- ausgeprägt schmaler Horizont
- selbst in Randgebieten zu deinem Fachgebiet von entwaffnender Naivität
(z.B. Deine Betrachtungen über Zahlensysteme... ohne den Hauch von
mathematischem Denken. Du verwechselst Mathematik mit Rechnen.)
- kein Sinn für die Realität
Jedes einzelne Defizit alleine reicht schon, Karrieren zu ruinieren - so
eine Anhäufung ist tödlich.
Dein Feind sind nicht die Motzer und Meckerer, dein Feind bist du
selbst. Nutze die Zeit, die Du mit deinem Projekt verheizst lieber dazu,
Dir ein ordentliches Fundament an Wissen zu verschaffen.
Und tu das nicht für Dich allein im stillen Kämmerlein, sonst verrennst
Du Dich wieder in irgend welchen Schnapsideen und verlierst das Ziel aus
den Augen. Mach eine ordentliche Ausbildung und mach die zu Ende. Das
Zeug dazu hast Du.
Falk Brunner schrieb:> Der Picoblaze von Xilinx ...
... ist für einen ganz anderen Einsatzzweck gemacht
als meine CPU, damit könnte man keinen Computer bauen.
Josef G. schrieb:> ... ist für einen ganz anderen Einsatzzweck gemacht> als meine CPU, damit könnte man keinen Computer bauen.
Wurde auch nicht als "Ersatz" für deine CPU genannt, sondern als
Beispiel für eine hervorragende Dokumentation.
Also: Scheuklappen ab zum Nachdenken
Josef G. schrieb:> ... ist für einen ganz anderen Einsatzzweck gemacht> als meine CPU, damit könnte man keinen Computer bauen.
Kommt also aufs selbe hinaus: Mit dem einen kann man nicht, mit dem
anderen will man nicht.
T.B. schrieb:> und Du musst sie nicht für 150 Euros organisieren...
Ich korrigiere: Jetzt sind schon 200 im Spiel. Aber man sollte ruhig
noch ein wenig abwarten, es ist noch viel Spielraum nach oben :-)
selbst bei 1000 EUR , ich verstehe immer noch nicht den SINN der hinter
dem ganzen steckt
Überschrift : "Tester gesucht für FPGA-Projekt"
was bringt es, wenn eine zweite Person mit einer gegebenen Hardware,
gegebene Software und (wenn auch spärlichen) gegebenen Doku ein schon
getestetes System nochmal testet ?
die zweite Person wird zum gleichen Ergebnis kommen wie schon der
Erbauer :
1. Das System funktioniert
2. Die CPU kann irgendwelche berechnungen durchführen
3. Man kann eine Verbindung zum PC und/oder SD-Karte herstellen
Diese 3 Punkte waren aber auch vorher schon bekannt
Der ganze Test war also Sinnlos
das ganze hätte nur dann Sinn, wenn die Fragen und Probleme die während
dem testen auftauchen nicht in diesem Thread, sondern sofort in der Doku
von dem Projekt z.B. als "FAQ" für alle Dokumentiert werden würden
es sieht mir aber nicht so aus, als das die Doku weiter gepflegt wird
vlt. wäre das Geld besser angelegt bei jemand der die Homepage und die
Doku überarbeiten könnte (für 5 * 200 EUR wäre da bestimmt jemand bereit
dazu)
Uwe B. schrieb:> was bringt es,
Das ganze ist halt eine Werbe-Maßnahme. Es sollen Details
des Systems bekannt gemacht werden und Interesse an dem
System geweckt werden. Ich möchte wenigstens ein oder zwei
Mitstreiter für das Projekt finden. Wobei es sich dabei nicht
notwendigerweise um einen der Tester handeln muss.
Es wird nicht jeder gleich bereit sein, mehrere Seiten trockene
Information auf meiner Website durchzuarbeiten, nur um heraus-
zufinden, um was es überhaupt geht. Man ist eher bereit, einen
lockeren Diskussion-Thread zu verfolgen und dabei die
eingestreuten Informationen aufzunehmen.
TimB schrieb:> T.B. schrieb:>> und Du musst sie nicht für 150 Euros organisieren...>> Ich korrigiere: Jetzt sind schon 200 im Spiel. Aber man sollte ruhig> noch ein wenig abwarten, es ist noch viel Spielraum nach oben :-)
Da wirst du noch lange warten müssen, bis das Angebot den Zeitaufwand
deckt, der notwendig ist, sich durch Doku und Code zu beißen, bis man
die Sache so genau durchschaut, daß man einen aussagefähigen Test auf
die Beine bringt.
Josefs eigene Tests durchlaufen zu lassen, ist völlig sinnlos, denn die
laufen und eine eigene FPGA-Platine damit zu testen, ist ähnlich
witzlos.
Uwe B. schrieb:> SINN
Das kennt Josef nicht.
Josef G. schrieb:> Das ganze ist halt eine Werbe-Maßnahme.
Threads mit soviel negativem Echo?
Mein Gott Walter - äh Josef.
Moby schrieb:> Uwe B. schrieb:>> SINN>> Das kennt Josef nicht.
Das ist auch nicht DAS Kriterium bei Hobby-Projekten und
Grundlagenforschung.
Die Haken an dem Projekt: geringer Spaßfaktor, technologische Sackgasse
und das Neuerfinden des Rades kann nicht wirklich als
Grundlagenforschung durchgehen.
Dazu kommen persönliche Defizite, die geeignet sind, den Spaßfaktor in
einer Zusammenarbeit in kurzer Zeit tief in den negativen Bereich
abgleiten zu lassen.
Das alles ist eben wenig einladend. Schade, denn der Kerl hat Potential
- er muß es nur zu nutzen lernen.
Uhu Uhuhu schrieb:> Das ist auch nicht DAS Kriterium bei Hobby-Projekten und> Grundlagenforschung.
Na ja, in Bezug auf
"Sollte es irgendwann einmal das System zu kaufen geben oder
sich auf andere Weise eine kommerzielle Anwendung ergeben,
würde ich aber mitbestimmen und mitverdienen wollen."
-Zitat Josefs Webseite-
wird man schon zuallererst nach dem Sinn fragen dürfen.
Uhu Uhuhu schrieb:> Schade, denn der Kerl hat Potential> - er muß es nur zu nutzen lernen.
Bestimmt. Aber er hat sich nunmal völlig in dieses Projekt verrannt
und wird mit seiner stoischen Ignoranz auch nicht mehr davon ablassen.
Motto: Auch Kritik ist Interesse und hält den Thread oben...
Was bietet der Herr Josef G. hier eigentlich konkret an? Programmcode?
Anleitungen? Irgend etwas zum Thema Codesammlung? Seine fortwährende
Werbelitanei ist hier wohl reichlich deplaziert...
Auf Sachargumente und Hinweise mag er auch nicht wirklich eingehen, eine
echte Diskussion scheint unmöglich.
Würde jeder hier nur eine Werbeplattform sehen dann könnte das Forum als
solches bald einpacken...
Warum die CPU keine OR-Befehle hat sondern NOR-Befehle
Die ALU-Operationen wurden unter dem Gesichtspunkt ausgewählt, dass es
zu jeder Operation auch die entsprechende Operation mit vertauschten
Operanden geben sollte und diese dieselbe Dauer haben sollte.
Es gibt deshalb ausser der Subtraktion auch die reverse Subtraktion.
Bei den logischen Operationen ist die zu (NOT A) AND (X) symmetrische
Operation A AND (NOT (X)) = NOT ((NOT A) OR (X)) = (NOT A) NOR (X).
Die Operationen in Assembler-Schreibweise:
NG.A bzw. NG.A
ANMX NRMX
Josef, merkst du immer noch nicht, daß es nichts nützt, dein System hier
wie sauer Bier anzupreisen?
Das interessiert keinen, weil niemand in einem Museum arbeiten will, in
dem eine 10 cm Staubschicht alles überdeckt - junge Leute schon gar
nicht.
Versuchs doch mal im Hausblättchen eines Altersheims, vielleicht findest
du dort ja einen Opa, der leuchtende Augen bekommt, wenn er dein Werk
sieht...
Josef G. schrieb:> Die ALU-Operationen wurden unter dem Gesichtspunkt ausgewählt, dass es> zu jeder Operation auch die entsprechende Operation mit vertauschten> Operanden geben sollte und diese dieselbe Dauer haben sollte.
Verstehe ich nicht.
Mal generell: Das CPU-Design richtet sich nach den Anforderungen der
Software, die darauf genutzt wird. Bei kleinen Microcontrollern bedeutet
das häufig Determinierbarkeit und Bitmanipulation. Bei größeren Systemen
ist die effiziente Ausführung von Hochsprache relevant. Das war schon in
den 70ern so.
gustl schrieb:> Verstehe ich nicht.
Der Programmierer muss dann halt nicht darauf achten, welcher
Operand zuerst im Akku stehen muss, das erleichtert ihm die Arbeit.
Josef G. schrieb:> Der Programmierer muss dann halt nicht darauf achten, welcher> Operand zuerst im Akku stehen muss, das erleichtert ihm die Arbeit.
Akku? Ach herje. Das ist zwar ein interessantes Konzept, war aber früher
eher dadurch etabliert, dass man mit der geringen Anzahl an verfügbaren
Transistoren noch kein richtiges Registerfile bauen konnte. Seit Ende
der 70er Jahre besteht dazu keine Notwendigkeit mehr. Außer zu evtl.
Forth ist eine Akkumulatorarchitektur auch zu keine Hochsprache
kompatibel.
Josef G. schrieb:> Der Programmierer muss dann halt nicht darauf achten, welcher> Operand zuerst im Akku stehen muss, das erleichtert ihm die Arbeit.
Das fehlende OR wird dem ASM-Programmierer - der, so er noch nicht
gestorben ist, derzeit seine Rente verkonsumiert - viel mehr wehtun, als
irgend welche Laufzeitprobleme, mit denen man sich vor 30 Jahren auch
nur in ganz extremen Schrottprojekten rumplagen mußte.
Timing-Probleme kann man auch anders lösen, als mit einem Befehlssatz,
bei dem alle Befehle exakt die gleiche Zeit benötigen. Und das deutlich
schneller und müheloser.
Josef G. schrieb:> Beitrag "Re: Iban, die Schreckliche">> Für genau diesen Zweck gibt es bei meinem Zeichensatz die Ziffern mit> Überstrich.
Das ist auch so ein Irrwitz, den die Informatik schon vor 40 Jahren
überwunden hatte: Zeichen und Textauszeichnung sind zweierlei Dinge und
haben nichts miteinander zu tun. Wer das 2013 noch immer in einen Topf
wirft, muß sich wirklich nicht wundern, wenn er nicht für voll genommen
wird.
Hallihallo,
ich habe mir gestern/heute mal Josefs Projekt angesehen und getestet.
Zuerst habe ich mir von seiner Seite unter Downloads die zu meinem Board
(Nexys) passenden Dateien heruntergeladen (Liste unter Hawa zu finden).
Diese sind zwar etwas ungünstig einzeln gezippt und mit einer
.txt-Endung
versehen, nachdem man sie ausgepackt hat lässt sich das allerdings
leicht
durch ein
1
rename 's/.txt//'
beheben.
Nachfolgend sind Punkte in code-Tags durch einen Druck auf die
'bi'-Taste
(PC: Rechte Shift) zu ersetzen.
Flugs ein neues Projekt im ISE WebPack (14.1) angelegt, die von Josef
angegebenen Einstellungen
- Synthesis - XST HDL options -priority_extract = force
- Generate Programming File configuration options -g UnusedPin =
PullUP
getroffen und den Prozess angestossen.
Unterdessen habe ich wie in [01] zu sehen eine PS2-Tastatur
(mit Power/Wake/Sleep) mit Josefs Beschriftungen versehen,
sowie den in Bild [02] zu sehenden SD-Adapter gelötet.
(Im MikroSD-Adapter befindet sich eine 2GB-Speicherkarte der Firma
Transcend)
Das nun fertige Bitfile wurde mit Impact in ein .mcs umgewandelt und in
den
Konfigurations-Flash geschrieben (Richtigen Typ auswählen!)
Nach einem Reset drückt man BTN3, dann 2, dann 1, dann springt der
Monitor an
und das System meldet sich [03].
In Bild [04] ist einmal das FPGA-Board mit SD-Adapter an JC (oben
links),
und an der unteren Kante von links nach rechts VGA, RS232
(improvisiert),
der MiniUSB-Programmierverbindung und dem Tastaturstecker zu sehen.
In [05] wurde das Beispielprogramm über die serielle Verbindung
eingespielt
(alternativ Befehl 1.DEMO), so war klar das die Verbindung funktioniert.
Nach Wechsel auf "Seite E" (Taste '-E') sieht man den Code [06].
Nun Taste 'BK' drücken, mit der Pfeil-Unten-Taste in die letzte Zeile
gehen
(Zähler von 80 bis FF in Systemzeile am unteren Bildrand),
Taste BK erneut drücken (Ergebnis siehe [07]) und wieder ganz nach oben.
Dort angekommen erneut '-E' drücken, man findet sich am Promt wieder.
Hier folgenden Code eingeben (An das Tastaturlayout gewöhnt man sich
schnell)
1
=NEW =PGM +1111
2
=NEW =EDI +1111
3
=IN.C +PGM
4
=IN.D +EDI
5
=MPRO
Kurz auf Seite E wechseln (Taste '-E'), dort den Cursor 2-3 Zeilen
unters
Textende setzen und zurückwechseln.
Mit einem
1
=ENDM
wird der Code kompiliert, das Ergebnis ist auf Seite E zu bewundern.
Mit '-PGM' kann das Programm nun aufgerufen werden, nun kann wie in
Bild [08] und [09] gezeigt gerechnet werden (natülich sedezimal).
Nun besogt man sich eine 1GB oder 2GB SD-Karte,
SICHERT ALLE DATEIEN,
und steckt sie in den SD-Adapter (In meinem Fall besagte 2GB-MikroSD).
Man besorgt sich Josefs sendcard.c-Programm, passt gegebenenfalls den
Schnittstellennamen an, lädt sich card.txt runten, benennt diese in
'cards' um. Einmal
gcc -o sendcard sendcard.c
und schon lässt sich das Programm mit ./sendcard starten (das auch tun).
Einmal am FPGA-Board
1
1.SICARD
eingeben und 'EN'. Jetzt am PC einmal j und enter.
Nach kurzer Zeit meldet der PC, dass er 8000 Byte übertragen hätte.
Am FPGA-Board
1
1.SDS /00
-> Damit ist der SD-Code auf der SD gespeichert.
Nachdem man einmal zum Beweis das FPGA-Board resetted und mit der 3-2-1
wieder
zum Prompt gekommen ist
1
1.SDR /00
2
1.CARD4
einmal BTN0 gefolgt von BTN1 (ein CPU-Reset) und man kann sich mit
1
=WARE
seines Erfolges überzeugen [10].
SD initialisieren (nach jedem Start):
1
4SD.I
SD Löschen (einmalig) LÖSCHT ALLE DATEN AUF DER SD!!
1
4SD.E0
danach BTN3 gedrückt halten und noch mal EN drücken.
Partition Öffen (auch nach jedem Start)
1
4SD.O0 //o - null
Wenn man nun wie oben beschrieben DEMO1 erneut kompiliert, kann man es
mit
1
4SD.S +PGM
abspeichern [11]
Nach einem Board-Reset [12] kann man es zurückholen mit
1
1.SDR /00
2
1.CARD4
dann die CPU-Resetsequenz BTN0->BTN1
1
4SD.I
2
4SD.O0
3
=NEW =PGM +1111
4
4SD.RC +PGM
Bild [14].
Nun kann mit
1
-PGM
das Programm wieder ausgeführt werden [14, 15].
Um Programmnamen zu erfahren kann man mit
1
4SD.D
ein Verzeichnislisting [13] bekommen.
Grüße,
Martin
Und? Hat Dir das Erlebnis Spass gebracht? Würdest Du es wieder tun?
Kannst Du uns Deinen Einblick in mögliche Anwendungen des Systems
schildern? Ist die neue Tastaturbelegung besser als die bestehende und
erweitert um sinnvolle Funktionen, oder ist sie einfach nur anders? Was
sind Deine weiteren Pläne mit dem Aufbau?
Also,
-Spass gemacht?
Ja definitiv, ist für mich immer schön mit andersartigen Rechnern zu
spielen.
Hat mich auch Motiviert mal an meinem eigenen Projekt weiterzubasteln.
Mögliche Anwendungen?
- So auf dem FPGA-Board Spass an der Maschine, jeder LPC800 braucht
weniger Strom
- Mal schön andere Blicke auf Systemdesign zu haben. Man lernt viel
über den Designer.
Tastaturlayout
- Passt zum System, viele Kommandos direkt vertreten.
- Nicht schlechter oder besser, nur anders. Gewöhne mich schnell an
Layouts. ( Deutsch, Englisch , DE auf US, US auf DE, Dvorak nativ,
Dvorak auf DE, Dvorak auf EN, Sun-UNIX, Siemens Terminal (Lustig da kein
Backspace) etc etc..
- Hat halt keine F-Tasten. Ich mag F-Tasten.
- Numpad?!
Weitere Pläne
- Evtl ne CF-Karte dran stricken, dabei im gleichen Zuge MMC mitnehmen
- LEDs blinken lasssen
Grüße, Martin
RLM schrieb:> Und? Hat Dir das Erlebnis Spass gebracht?
nö
RLM schrieb:> Würdest Du es wieder tun?
für 300€ bestimmt
RLM schrieb:> Kannst Du uns Deinen Einblick in mögliche Anwendungen des Systems> schildern?
man kann damit 300€ von nem verrückten bekommen
RLM schrieb:> Ist die neue Tastaturbelegung besser als die bestehende und> erweitert um sinnvolle Funktionen, oder ist sie einfach nur anders?
sie ist einfach nur anders, genau so wie josef
RLM schrieb:> Was> sind Deine weiteren Pläne mit dem Aufbau?
verschrotten oder hoffen das ich damit noch mehr geld von josef bekommen
kann
Martin B. schrieb:> ich habe mir gestern/heute mal Josefs Projekt angesehen und getestet.
Glückwunsch Josef, dass jemand schon für 300€ diesen Testerhumbug
mitmacht! Mal sehen ob das Geld nun wirklich beim so gekauften
Unteressenten ankommt!
Hat doch auch sein Gutes. Josef's Schnappsideen gehen ihm nun richtig
ans Geld. Und wir haben ein wenig Entertainment in der trockenen
Codesammlung. WEITER SO :-)
Hi Josef,
habe die Files "flhs3e.ucf, flhs3e.vhd, ks3e.vhd, cpu.vhd, bram32.vhd"
schön brav heruntergeladen und unter ISE WebPACK 14.6 (läuft auf einem
Windows 7 x64 Rechner) in ein Projekt importiert.
- Syntax Check: verlief ohne Probleme
- Translate: verlief ohne Probleme
- Map: Warnings (siehe angehängtes File)
- Place & Rout: Warnings (siehe angehängtes File)
Weil ich bei meinem derzeitigen FPGA-Wissensstand nur ca. 2% von dem
verstehe, was ich da mache, zögere ich etwas, das Ergebnisfile auf mein
Spartan-3E zu spielen.
Mich schrecken dabei folgende Zeilen von Dir (Quelle: "Hawa"
auf Deiner Website):
>Es sei darauf hingewiesen, dass auf dem Board 5V-Spannungen>auftreten, welche bei fehlerhafter Konfiguration das FPGA>zerstören können. Siehe Xilinx-Dokument UG334.>Man stelle sicher, dass die Takte clk133, clk, vclk, cl0, cl1>über Clock-Leitungen/BUFMUX geroutet werden.>Die Konfiguration greift auf den Parallel-Flash-Speicher zu.>(Jumper J46 darf nicht in Stellung "always enabled" sein.)"
Ist wohl ursprünglich für das Spartan-3A-Board geschrieben.
Betrifft das auch mein S3E-Board?
Muß ich auf meinem Spartan-3E Board irgendetwas an der Default-
Jumperung verändern? Und besteht sonst die Gefahr, das Board zu
"himmeln"? J30 steht auf "JTAG" (d.h. nur die mittlere Brücke
ist gesetzt).
Na ja - und dann fehlt mir derzeit noch eine PS2-Tastatur und
ein VGA-Monitor. Ich hoffe, ich kann beides noch organisieren.
Viele Grüße
Igel1
Andreas S. schrieb:>>Es sei darauf hingewiesen, dass auf dem Board 5V-Spannungen
Im UG230 für das S3E Starter habe ich keine solche Warnung gefunden.
>>Man stelle sicher, dass die Takte
Clock Report anschauen, dort muss stehen BUFMUX
oder BUFG bei clk, vclk, cl0, cl1, dckp_OBUF
> Default-Jumperung verändern?
Auf meinem S3E Starter sehe ich 6 gesetzte Jumper:
JP6, JP7 in der Nähe der 5V-Einspeisung
JP9 in Stellung rechts 3.3V
J11 zwei Jumper nebeneinander gesetzt
J30 der mittlere gesetzt
Hi Josef,
also: Jumper waren bei mir so gesetzt wie bei Dir - das ist schon mal
gut.
>>>Man stelle sicher, dass die Takte>Clock Report anschauen, dort muss stehen BUFMUX>oder BUFG bei clk, vclk, cl0, cl1, dckp_OBUF
Das sind für mich als FPGA-Anfänger noch alles böhmische Dörfer.
Mit Müh und Not habe ich überhaupt den Clock Report gefunden,
kann ihn aber überhaupt nicht bewerten.
Daher meine Bitte:
Bitte schau Du einmal in den Report rein (ist im Anhang meines letzten
Postings enthalten) und bewerte, ob das Ergebnis des enthaltenen
Clock-Reports gut oder schlecht ist (einfach nach "Generating Clock
Report") suchen.
Auch sind im besagten Logfile ein paar Warnings aufgeführt (z.B. im
Abschnitt "Low Level Synthesis") - ich hatte dies im letzten Posting
schon erwähnt. Für mich sind's wiederum "böhmische Dörfer" - Dir könnten
diese Zeilen aber ggf. Hinweise auf mögliche Verbesserungspotentiale
geben.
Sind diese Warnings wichtig für mich oder kann ich sie ignorieren?
Viele Grüße
Igel1
Andreas S. schrieb:> Bitte schau Du einmal in den Report rein
Vorab dies: Ich bin kein Fachmann für ISE, verwende ISE11.1
und kenne mich mit anderen Versionen gar nicht aus.
Informationen über Clocks habe ich in deinem Report an zwei
Stellen gefunden. Die erste Stelle hat die Überschrift Clock-
Information, die zweite Stelle hat die Überschrift Generating
Clock Report. An der zweiten Stelle steht BUFMUX bei cl1, cl0, clk,
dckp_OBUF, in der Zeile mit cl0 steht noch ein zweites BUFMUX, die
Zeile sieht so aus, als hätte da mit dem Ausdrucken etwas nicht
geklappt, vielleicht gehört das zu vclk. An der ersten Stelle
steht nur viermal BUFG, es ist hier aber vclk aufgeführt.
Sieht also so aus, als ob alles passt.
Die Warnungen, die ich in deinem Report sehe, hatte ich auch alle,
die sind ok. Hauptsächlich geht es um Latches, die habe ich aber
absichtlich eingebaut, oder um vermeintlich ungünstige Init-Werte,
die sind aber ebenfalls absichtlich so wie sie sind.
PS: In dem Ausgabe-Fenster, wo oben summary steht,
kann man clock report anklicken.
Hi Josef,
das hört sich dann ja doch gar nicht sooo schlecht an.
Ich habe also den Schritt "Generate Programming File" erfolgreich
durchlaufen und habe somit ein flhtest.bit-File generiert.
Nun starte ich aus dem ISE Project Navigator heraus iMPACT via:
"Configure Target Device > Manage Configuration Project (iMPACT)"
In iMPACT mache ich
- einen "Boundary-Scan" und dann
- ein "File > Initialize Chain".
Tja - und dann kommen leider ein paar Dialoge, bei denen ich verloren
gehe, da ich die Zusammenhänge zwischen FPGA und den unterschiedlichen
Speichern noch nicht verstehe.
Könntest Du mich daher netterweise ab dieser Stelle "durchwinken"
(=Schritt für Schritt beschreiben, was Du in Deiner ISE 11.1 so alles
machst) und mir ggf. sogar das Ergebnis in Form des Chain-Bildchens
zusenden? Meine Chain (siehe Bild im Anhang) ist nur erraten und
sicherlich falsch.
Ich brauche wirklich eine Schritt-für-Schritt Anleitung, wie ich ab dem
Punkt "Initialize Chain" weitermarschieren muß, damit ich die Bits an
die richtige Stelle im FPGA geschubst bekomme.
Ach ja - und noch 'ne Frage:
Wenn ich die Startsequenz drücke "West > Nord > Ost" - Du weißt schon -
kann ich dann auch am LCD-Display erkennen, daß alles halbwegs glatt
gelaufen ist? Ich bin mir derzeit nämlich nicht Sicher, ob der
VGA-Monitor (ist ein LCD-Monitor) die geforderte Tief-Auflösung schafft.
Viele Grüße
Igel1
Andreas S. schrieb:> Könntest Du mich daher netterweise ab dieser Stelle "durchwinken"
Die Klickerei bei Impact ist bei deiner ISE-Version vermutlich anders
als bei mir. Du musst halt, wenn von den drei Devices das FPGA als aktiv
angezeigt wird, irgendetwas bestätigen, und wenn die anderen ausgewählt
sind, irgendwo cancel oder so klicken. Bei mir wird dann irgendwann
keine Klick-Aufforderung mehr angezeigt, ich drücke rechte Maustaste
und wähle im aufgehenden Menü den Punkt Programm. Dann erscheint ein
grünes Feld mit Aufschrift programm succeed, und man ist fertig.
Wenn du den letzten der drei Taster PB_east drückst, muss auf dem
Display eine 8stellige Zahl erscheinen, die letzten vier Stellen
sind e440. Wenn das der Fall ist, funktioniert alles.
PS: Irgendwo wird man nach einem File gefragt,
da muss man flhtest.bit auswählen.
Hi Josef,
bitte schreibe mir möglichst genau, wie der Ablauf in Deinem iMPACT bei
der ISE 11.1 ist - so sehr unterscheiden die sich nicht. (Ich habe
einige alte Versionen ausprobieren müssen, bis mein Board lief ....)
Viele Grüße
Igel1
Wow - mich laust der Affe:
Im zweiten Anlauf scheint's zu funktionieren (keine Ahnung, warum's beim
ersten Mal nicht ging):
Eine lange Zahl erscheint im LCD und auf dem (inzwischen organisierten)
VGA-Monitor erscheint ebenfalls ein blau-gelbes Konsolen-Bild, das ich
mit meiner (inzwischen ebenfalls ausgeliehenen) PS2-Tastatur bearbeiten
kann.
Leider muß ich justamente jetzt in die Heia, aber das Erfolgserlebnis
ist groß! Und dies, obwohl ich mehr oder weniger Null Plan von der
Materie habe.
Hoffentlich komme ich bald dazu, weiterzumachen. Jetzt ist erst einmal
Schlafen angesagt (Deine Doku hatte einen guten Teil der letzten Nacht
verspeist - dieser Teil fehlt mir jetzt ein wenig ...).
Viele Grüße
Igel1
Hi Josef,
Du hast eine eher seltene Tastatur mit Power/Sleep/Wakeup-Tasten
verwendet.
Ich konnte solch einen Dinosaurier nirgendwo auftreiben und habe auf
meiner Tastatur keine Power/Sleep/Wakeup-Tasten.
Watt nu?
Viele Grüße
Igel1
Andreas S. schrieb:> Watt nu?
In der Datei ks3e.vhd gibt es ganz am Anfang in der entity keybd
eine Tabelle, die rechte Hälfte der vorletzten Zeile lautet
,x"31",x"33",x"38",x"3a",x"2c",x"2e",x"77",x"77",
Wenn du die letzten zwei Einträge 77 ersetzt durch 7f, dann liegt
die -E Taste auf der NUM-Taste des Ziffernblocks. Die Tasten
-D und -C brauchst du nicht unbedingt.
Habe mir das Problem nochmal angeschaut und möchte nun allgemein Nutzern
einer PS2-Tastatur ohne power/sleep/wakeup folgendes empfehlen:
Man lege die Tasten -C/-D/-E auf shift.xC/shift.xD/shift.xE, wobei
mit xC/xD/xE die neu beschrifteten Hex-Ziffern gemeint sind. Zu diesem
Zweck nehme man in der erwähnten Tabelle folgende Ersetzungen vor:
In der ersten Zeile steht 6c 6c - man ersetze das zweite 6c durch 7d
In der zweiten Zeile steht 6d 6d - man ersetze das zweite 6d durch 7e
In der ersten Zeile steht 6e 6e - man ersetze das zweite 6e durch 7f
Hi Josef,
das Verlegen von "-E" auf die "NUM"-Taste hat funktioniert.
Ich hatte auch schon ein Auge auf die besagten VHDL-Zeilen
geworfen, war dann aber zu faul gewesen, mich mit Tastatur-
codes & Co herumzuschlagen - Danke daher für die Hilfe.
Ich bin jetzt einen Schritt weiter.
Nun muß ich das Demo-Programm irgendwie kompiliert bekommen
und dafür erst einmal Dein Maschinchen ein bißchen verstehen.
Ist schon eine eigene Welt, die Du Dir da geschaffen hast.
Bin heute leider etwas knapp an Zeit. Vermutlich geht's erst
morgen weiter.
Viele Grüße
Igel1
Hallo Josef,
Danke für den Hinweis mit der Block- und Cursor-Positionierung.
Ohne diesen Tipp wär's schwierig geworden.
So aber habe ich's tatsachlich hinbekommen - Potzblitz
Dein Taschenrechner tickt auch korrekt auf meinem Schirm (wenn man denn
erst einmal verstanden bzw. zufällig gelesen hat, daß bei MUL und DIV
der 2.Operator vor der eigentlichen Rechnung um 1 inkrementiert wird).
Ich kann jetzt also zufrieden in die Heia und werde die nächsten Tage
meinen Bericht und das Bild einstellen.
Viele Grüße
Igel1
>Um einen wirklich modernen Prozessor zu>entwickeln, sollte nicht die händische Programmierbarkeit in Assembler>im Vordergrund stehen, sondern die Eignung als Zielsystem für Compiler.
Nur Marketinggequatsche.
Jeder stinknormale ASM-Befehlssatz (sofern nicht zu kleiner
Adressbereich, und es noch ein paar Indexregister und n Stack gibt) kann
das.
Sicher meint der das ernst mit seiner Selbstüberschätzung. Aus diesem
Traum konnte ihn hier noch keiner reißen. Aber solange sein Business
darin besteht, für sein Hirngespinst Geld aus- statt einzunehmen ist es
ja nicht weiter schlimm :-)
MCUA schrieb:>>Um einen wirklich modernen Prozessor zu>>entwickeln, sollte nicht die händische Programmierbarkeit in Assembler>>im Vordergrund stehen, sondern die Eignung als Zielsystem für Compiler.> Nur Marketinggequatsche.> Jeder stinknormale ASM-Befehlssatz (sofern nicht zu kleiner Adressbereich,> und es noch ein paar Indexregister und n Stack gibt) kann das.
Wer den Thread nur teilweise verfolgt hat, könnte auf die Idee
kommen, das Zitat sei von mir und die Kritik gelte mir.
Deshalb hier die Quelle des Zitats:
Beitrag "Re: 8bit-Computing mit FPGA"
Josef G. schrieb:> könnte auf die Idee> kommen, das Zitat sei von mir und die Kritik gelte mir.
Danke für diese wertvolle Richtigstellung, auf die hier jeder
dringlichst gewartet hat. Josef G. selbst ist natürlich über jede Kritik
erhaben (bzw die würde ja sowieso an ihm abperlen :-)
Also ich muss schon sagen, die Boessartigkeit einiger Poster hier ist
wirklich unuebertroffen.
Ich wuerd ja nix sagen, wenn er (josef) alle Threads zumuellen wuerde,
aber nein, sie muellen ihm den Thraed zu.
Ich finde sein Projekt recht interessant wenn auch ein bischen
kryptisch. Ist aber immer eine Konventionssache.
Und die Protzerei mancher Kritiker ueber ihre irgendwann mal gemachten
"Superprojekte" ist teilweise ja nur mehr peinlich.
Das schlimme dabei ist, dass genau die Protzer fast jeden Thread mit
ihrem Geprotze begluecken.
Leider sind da sehr viele Pseudoprofis unterwegs die die ganze Zeit
ueber zeigen muessen wie professionell sie sind.
Also ein echter Profi liest sich den Thread wahrscheinlich durch, und
hat seine Freude daran.
Aber er muss nicht zeigen dass er besser, toller und was weiss ich was
alles ist.
Es gab ja gottseidank auch konstruktive Kritik aber leider war sehr viel
unter der Guertellinie.
Und das schlimmste ist in einem Forum, wo haupsaechlich Hobbisten
unterwegs sind, immer die Frage "Was bringt es denn?".
Also bitte erklaert mir was es bringt in einem Thread zigmal die Frage
zu stellen "was bringt es denn?".
Jungs, bleibt am Boden und lasst die Leute spielen.
Es tut keinem weh, aber Denunzierung schon.
Gruss!
MCUA schrieb:> Jeder stinknormale ASM-Befehlssatz (sofern nicht zu kleiner> Adressbereich, und es noch ein paar Indexregister und n Stack gibt) kann> das.
Die Turing-Maschine auch. Aber trotzdem würde sie wohl niemand gerne
dafür verwenden. Es gibt als Zielplattform für Compiler sehr wohl besser
und schlechter geeignete Architekturen. Ein hardwareseitig unterstützter
Stack ist freilich kein solches Kriterium.
Walter M. schrieb:> Boessartigkeit einiger Poster
Wohl eher Realismus.
Walter M. schrieb:> Ich finde sein Projekt recht interessant
Warum bist Du noch noch kein "Tester" ?
Walter M. schrieb:> ein echter Profi liest sich den Thread wahrscheinlich durch, und> hat seine Freude daran.
Wendet sich eher mit Kopfschütteln ab und das bringt dem Josef nichts.
Walter M. schrieb:> immer die Frage "Was bringt es denn?"
Muss man schon fragen dürfen wenn geschäftliche Ziele verfolgt werden.
Walter M. schrieb:> lasst die Leute spielen
Das wird hier keiner verhindern wollen oder gar können.
Dein Gutmenschentum in allen Ehren. Das hilft dem Josef aber tausendmal
weniger als alles das was Du "unter der Gürtellinie" bezeichnest.
M.Bär schrieb:> Dein Gutmenschentum in allen Ehren. Das hilft dem Josef aber tausendmal> weniger als alles das was Du "unter der Gürtellinie" bezeichnest.
jaja, mit voller hose ist leicht stinken.
Also ich geh wetten, dass du der erste bist der zur polizei rennt wennst
eine gerechtfertigt aufs maul kriegst.
der jenige der hier gutmensch spielt bist du, weil du willst ihm ja
"helfen".
bei so einer hilfe, da hofft man ja dann, dass einem mal wieder jemand
richtig reinsch....t.
also versuchs mal in deiner direkten umgebung mit deiner hilfe.
schick uns dann aber ein foto (vorher/nachher) von dir.
:P
Walter M. schrieb:> Also ich muss schon sagen, die Boessartigkeit einiger Poster hier ist> wirklich unuebertroffen.
Zustimmung, man sollte hier wirklich nur an der sache diskutieren und
nicht über die leute herziehen. Echt, zuweilen geht es hier ab wie bei
Monty Python. Da sagt einer Jehova und schon fliegen die Steine.
Und einen Computer from the scratch auf einen FPGA hochziehen ist so
oder so eine Leistung die auch unter den ET-Ingenieure nur wenige
vorweisen können.
MFG,
Andreas S. schrieb:> Geht so etwas hier:
Der hat eine andere Pin-Belegung, aber die kann man anpassen im
UCF-File. Und ich habe keine Informationen gefunden, ob Pullup-
Widerstände eingebaut sind. Da müsste man evtl. am MISO-Pin den
Pullup im FPGA aktivieren. Vielleicht liest hier jemand mit, der
etwas dazu weiss. Ob es funktioniert, kann ich nicht garantieren.
Den Adapter von Trioflex gibt es auch bei Trenz. Bei den
Kosten werden wohl die Versandkosten relevant sein.
Zu der Ansicht, dass an MISO ein Pullup erforderlich sei, bin ich durch
Aussagen aus zweiter Hand gelangt, zuletzt hatte ich dies gefunden:
Beitrag "Re: SD-SPI keine Antwort auf CMD0"
Habe jetzt mal auf der Startseite von mikrocontroller.net im Suchfeld
eingegeben sd pullup und viele widersprüchliche Ergebnisse zur
Notwendigkeit oder Nicht-Notwendigkeit von Pullups gefunden.
Ich weiß nicht, was jetzt wirklich stimmt. Der von mir verwendete
Pmod-SD-Adapter von Digilent hat jedenfalls Pullups an allen Pins.
http://www.digilentinc.com/Data/Products/PMOD-SD/PmodSD_sch.pdf
Hi,
der Schaltplan des Original PMOD-SD sieht ja doch arg übersichtlich aus.
Da sind mehr als 28,- EUR (ohne Versandkosten) schon ein stolzer Preis
für so eine chice PMOD-SD Karte.
Spricht etwas dagegen, sich für 2,- EUR einen SD Speicherkarten-Sockel
zu besorgen (z.B. hier:
http://www.pollin.de/shop/dt/Mjc0ODQ1OTk-/Computer_und_Zubehoer/Hardware/Speicherkarten/SD_Speicherkarten_Sockel_ATOM_SD01_AP20324.html)
und den Rest auf einer Lochkartenplatine selbst zu löten?
Widerstände, Lochkartenplatine, Kondensator und doppelte Stiftpolleiste
- fliegt alles bei mir rum.
Ich kapiert nur noch nicht, wie eine 2x6-polige Stiftleiste in eine
1x6-polige Buchse (vermutlich J1?) an mein Spartan 3E Board passen soll?
Oder liegen die SPI-Pins alle auf der oberen oder unteren
Stiftpfostenreihe und man steckt dann nur die obere/untere
Stiftpfostenreihe ins Board?
Viele Grüße
Igel1
Andreas S. schrieb:> vermutlich J1?
Richtig. Belegung ist dieselbe wie hier:
Beitrag "Re: Tester gesucht für FPGA-Projekt"> Oder liegen die SPI-Pins alle auf der oberen
Würdest du den von mir verwendeten Adapter von Digilent verwenden,
müsstest du die obere Stiftreihe anstecken, so steht es auch auf meiner
Webseite (beim S3A-Board). Der Adapter von Trioflex hat, glaube ich,
nur eine Stiftreihe, mit anderer Pin-Reihenfolge. Aber wenn du selber
etwas bastelst, ist das ja ohnehin alles hinfällig.
> Spricht etwas dagegen,
Darüber weiß ich nichts.
> Da sind mehr als 28,- EUR
Sind allerdings auch Kabel dabei.
Zitat:
Uwe B. schrieb:
> um auf Kleinbuchstaben umzuschalten muss man "STRG" zusätzlich drücken
Zum dauerhaften Negieren der Wirkung der Shift-Taste (STRG)
setzt man den Sh-Modus mittels Taste SM.
------------------
Was ist eine SM Taste????? Sado Maso oder was????
pöserpursche schrieb:> Was ist eine SM Taste?????
Die drei Tasten für den von mir so genannten "Zeichenmodus"
habe ich AM, SM, UM (Alt-Mode, Shift-Mode, Unterstrich-Mode)
genannt, siehe Website Seite Hawa ganz unten.
Hallo Josef,
hier also die angekündigte Dokumentation der
Inbetriebnahme Deines 8-bit Rechners:
Nach der Konfiguration meines Spartan 3E FPGA
Boards habe ich den Taschenrechner wie folgt
ans Laufen gebracht:
- Nach dem Laden der Konfiguration leuchtet
LED 2 auf
- Um den 8-bit Computer zu starten werden nun
nacheinander 3 Tasten bedient.
Zunächst Taste "BTN West" auf dem Board drücken:
LED 7 leuchtet auf
- Dann Taste "BTN Nord" drücken:
LED 6 leuchtet auf und ein Pixelmuster
(= VGA-Testbild) erscheint auf dem Monitor
- Dann Taste "BTN Ost" drücken
LED 5 leuchtet auf, kurz darauf auch LED 4
Das LCD zeigt eine längere HEX-Ziffer an.
Der 8-bit Computer startet und die Konsole
(blau/gelb) erweckt zum Leben.
- Eingabe "1.DEMO" über die Tastatur lädt ein
Beispielprogramm in "Seite E" (diese "Seite E"
samt Programm ist zunächst "unsichtbar").
Hinweis: "." in "1.DEMO" steht für einen
Druck auf die rechte "Shift"-Taste [bi].
- Mit der Power-Taste [-E] gelangt man zur "Seite E"
und findet dort das eingeladene Demo-Programm vor.
Wer eine Tastatur ohne Power-Taste [-E] besitzt (das
dürfte die Mehrzahl sein) der paßt den VHDL-Code
gemäß Josef's Hinweisen in diesem Thread an und
kann anschließend z.B. die NUM-Taste als Power-
Tasten-Ersatz verwenden.
- Das angezeigte Programm gilt es nun zu kompilieren.
Dafür zunächst mit der "Win"-Taste [BK] eine horizontale,
gestrichelte Markierungen am obersten (80) und am untersten
Ende (ff) der Seite setzen (scrollen geht über die Pfeiltasten)
und abschließend wieder ganz nach oben scrollen,
um den Cursor auf den ersten Buchstaben der
ersten Zeile zu setzen.
- Jetzt mit der Power-Taste [-E] zurück zur Konsole
und folgende Kommandos eingeben:
1
=NEW =PGM +1111
2
=NEW =EDI +1111
3
=IN.C +PGM
4
=IN.D +EDI
5
=MPRO
Hinweis: "." sind wieder durch ein Druck auf die rechte
Shift - Taste [bi] zu ersetzen.
- Nun nochmals per Power-Taste [-E] in "Seite E"
wechseln und dort den Cursor 1 Zeile unter
die letzte Codezeile setzen.
- Wiederum per Power-Taste [-E] zur Konsole wechseln
und folgende Befehle eingeben
1
=ENDM
2
-PGM
Der erste Befehl kompiliert das Programm in "Seite E"
und erzeugt einen Zwischencode.
Der zweite Befehl startet einen Interpreter, um den
soeben erzeugten Zwischencode auszuführen.
- Wenn alles gut gelaufen ist, erscheint die
Oberfläche eines rudimentären Kommandozeilen-Rechners.
Dort kann man nun wilde HEX-Rechnungen veranstalten:
Dazu Tipps:
Operator mit 03 ... 00 auswählen (2-stellig)
Ersten Operand mit Vorzeichen und 8 HEX-Zeichen eingeben
Zweiten Operand ohne Vorzeichen eingeben (max. 4 HEX-Zeichen)
Hinweis 1:
Bei der Multiplikation und bei der Division
wird der Operator 2 zunächst im Hintergrund
um 1 inkrementiert, bevor die eigentliche
Operation ausgeführt wird.
Hinweis 2:
Bei der Division wird neben dem ganzzahligen
Quotienten auch der Rest angezeigt
Erfahrungen und Gedanken bei der Durchführung:
- Ich mußte viel darüber nachdenken, was im Leben
eigentlich sinnvoll ist und was nicht. Ich glaube
letztendlich muß das jeder für sich entscheiden
und wenn Josef sich entschieden hat, eine 8-bit
CPU zu bauen, die ihm gefällt und er Sinn darin
sieht, so ist das zu akzeptieren.
- Die oft verletzenden Kommentare anonymer User
sind elend. Sie zeugen Kleingeistigkeit und sehr
wenig Toleranz.
Da war selbst der alte Fritz schon weiter:
Jeder soll nach seiner Facon selig (hier: eher
glücklich) werden - und sei es mit einem FPGA-
Rechner.
- Nun aber zur Sache:
Ich gestehe, daß ich mit der Doku echte Probleme
hatte. Ich habe große Teile schlichtweg nicht
verstanden.
Sie ist leider derjenige Part, der mir die größten
Schmerzen bereitet hat.
Hier würde ich an Deiner Stelle, Josef, ein paar
Tage investieren, um alles von Grund auf zu
überarbeiten. Ich weiß: das macht wenig Spaß,
würde Deinem Projekt in der Außensicht aber
sicherlich gut tun. Evtl. solltest Du andere
dokumentieren lassen - Du bist vermutlich zu tief
drin, um Dich noch einmal in Neueinsteiger wie mich
hineinzuversetzen.
Dabei hätte ich wirklich gerne auch einmal selbst
ein Programm für Deine CPU geschrieben. Aber die
Doku - na ja - ich sagte es oben ja schon ...
- Die hier oft geschmähte Tastatur-Umbelegung machte
mir keinerlei Probleme (bis auf das Power-Tasten-
Problem, das Josef inzwischen aber gelöst hat).
- Ansonsten finde ich als absoluter FPGA-Neuling
Josefs Projekt sehr beeindruckend. Ich sehe mich
selbst in weiter Ferne, so etwas selbst auf die
Beine zu bringen.
- Für eine konstruktive Kritik an der CPU-Architektur
und am Gesamtkonzept gibt es sicherlich berufenere
Köpfe.
Viele Grüße
Igel1
Fpga Kuechle schrieb:> so> oder so eine Leistung die auch unter den ET-Ingenieure nur wenige> vorweisen können
Um was gehts hier eigentlich- (offensichlich) nur ums Beeindrucken und
Zurschaustellen oder doch darum, dass hinterher wie permanent suggeriert
ein sinnvolles, nützliches Produkt Anwender findet?
Man kann durchaus viel Energie und Können in einer Sackgasse versenken:
In Josef G.s Werbethreadmeer fand sich bislang NIEMAND, der je von Sinn
und Zweck seiner FPGA-CPU überzeugt worden wäre. Ernsthafte positive
Resonanz (siehe oben) erkauft er sich mit Geldgeschenken. Ist das jetzt
mehr peinlich als lächerlich, mehr dumm oder dreist?
Soll er doch mit seinem Spielzeug spielen. Aber wer (damit) die
Öffentlichkeit sucht muss mit den Reaktionen leben. Allen, selbst
solchen die tatsächlich unter der Gürtellinie sind:
Walter M. schrieb:> eine gerechtfertigt aufs maul kriegst.Walter M. schrieb:> da hofft man ja dann, dass einem mal wieder jemand> richtig reinsch....t.
Soviel hohlköpfige Aggressivität disqualifiziert natürlich für den Titel
"Gutmensch".
Hi "M. Bär",
> @Igel1: Zu einem ehrlichen Bericht hätte gehört, was dafür bezahlt wurde!
Zunächst:
Zu einer ehrlichen Kritik hätte gehört, sich im Forum anzumelden und zu
seinen Äußerungen mit seinem Namen und seiner Person zu stehen.
Sodann:
Bislang habe ich nichts bekommen - ich hoffe jedoch auf Josefs
ausgelobten Betrag von 150,- EUR. Dieser Betrag war sicherlich ein Teil
meiner Motivation, die Tests durchzuführen.
Der andere Teil der Motivation war, daß ich gerne dem einen oder anderen
Schüler die Grundlagen eines Computers zeige (und nein, ich bin kein
Lehrer).
Dafür benutzte ich in der Vergangenheit oftmals "DemoComp":
http://www.randelshofer.ch/fhw/gri/holzi.html und unter genau diesem
Aspekt hatte mich auch Josefs Computer interessiert.
Jetzt kannst Du mir natürlich vorwerfen "wes Brot ich fress, des Lied
ich sing" - stimmt, allerdings singe ich hier kein Loblied auf die
designte CPU und ich weise klar auf die von mir ausgemachten Defizite
(Doku, Doku und nochmals Doku) hin.
Auch hat Josef sein Angebot nicht an eine positive Bewertung gekoppelt
und sogar explizit verweigert meinen Forenbeitrag vorab auf Fehler
gegenzulesen (ich hatte ihn darum gebeten) - er wollte ganz
offensichtlich jegliche inhaltliche Einflußnahme vermeiden.
Von daher sehe ich mich nicht als "gekauften Claqueur". Ich habe
definitiv Respekt und Anerkennung vor und für Josefs Leistung und
bestätige das hier und jetzt in diesem Forum als angemeldeter User unter
meinen Credentials.
Viele Grüße
Igel1
@Igel1,
ich sehe das ganze genauso wie du,
bei einem Hobby soll man nicht nach Sinn oder Unsinn fragen...
es soll Spass machen
aber wenn man sein Hobby mit jemandem anderen teilen möchte,
dann muss man aufeinander zugehen und Fragen, Kritik usw
austauschen um sich so gegenseitig weiterzubringen
ich bin auch an der Doku von Josef gescheitert und habe nicht
das Projekt an sich angeprangert
deine Beschreibung im Post oben, die Schritt für Schritt erklärt
was man, wann (und wie) machen muss, ist 10mal besser
als alles was auf der Homepage zu finden ist
wenn es so eine Beschreibung (für Dummys wie mich) geben würde
(und vlt noch ein ZIP mit allen notwendigen Files, damit man nur ein
Link anklicken muss für sein Board) dann würden sich sicher mehr Leute
finden die das ganze mal ausprobieren...auch ganz ohne Bezahlung
Gruss Uwe
Andreas S. schrieb:> Zu einer ehrlichen Kritik hätte gehört, sich im Forum anzumelden und zu> seinen Äußerungen mit seinem Namen und seiner Person zu stehen.
Unsinn, wenn die Kritik berechtigt ist, kann's egal sein, wer da steht.
Andreas S. kann ja auch in Wirklichkeit Michael M. sein.
Ob Du gekauft wurdest oder nicht, lässt sich ganz einfach feststellen:
Wenn Du die Sache ohne Bezahlung ausprobiert hättest, wärst Du nicht
gekauft, in jedem anderen Fall schon. Dir war erklärtermaßen das Geld
wichtig, also wurdest Du gekauft. Ist doch nicht so kompliziert.
Die ganze Sache ist doch nichts anderes als das manisch gepflegte
Hirngespinst des Josef G., wobei er seinem erklärtem Ziel einen
"einfachen Computer für jedermann" herzustellen so weit entfernt ist,
dass er's in seinem Nebel selbst nicht mehr erfassen kann.
Seine Hartnäckigkeit ist beachtenswert, wird aber dennoch ein Scheitern
der Sache nicht verhindern, da sein Hirngespinst nicht mal das ist, was
es seiner Meinung nach sein soll. Wie sollen dann andere dann den Nutzen
dahinter sehen?
Noch 'ne ganz einfache Regel: ist etwas wirklich interessant, finden
sich von selbst Menschen dafür, die's ausprobieren und benutzen. Dann
müssen nicht erst ein paar Scheine dran gebunden werden, damit das
jemand anfasst.
Übertragen gesprochen hat Josef G. mit hohem Arbeitseinsatz ein
fürchterlich kompliziertes Medikament hergestellt und sucht nun nach der
Krankheit dafür. Die passende Krankheit findet sich nur nicht so recht,
aber wenigstens hat er ein paar bezahlte Testpatienten gehabt, Du warst
einer davon.
MWS schrieb:> Dir war erklärtermaßen das Geld wichtig, also wurdest Du gekauft. Ist> doch nicht so kompliziert.
Ganz so einfach ist es in der richtigen Welt doch nicht: Jeder Gutachter
wird für seine Leistung bezahlt und trotzdem kann man nicht davon
ausgehen, er sei bösen Sinn des Wortes "gekauft", hätte also ein
Gefälligkeitsgutachten abgeliefert.
Allerdings war das, was Andreas S. gemacht hat, lediglich eine
Demonstration, daß man Josefs Werk - wenn auch mit einiger Mühe - so zum
Laufen bekommen kann, wie er es bereitgestellt hat. Ein Test für einen
Prozessor im eigentliche Sinn war das nicht und unter dem Strich kam
auch nur das heraus, was man eh schon weiß.
Aber sich ewig im Kreis zu drehen gehört halt bei manchen Projekten
einfach dazu ;-)
M.Bär schrieb:> Um was gehts hier eigentlich- (offensichlich) nur ums Beeindrucken und> Zurschaustellen oder doch darum, dass hinterher wie permanent suggeriert> ein sinnvolles, nützliches Produkt Anwender findet?
Wei bei 99% der Themen und Projekte hier, mein Lieber
> In Josef G.s Werbethreadmeer fand sich bislang NIEMAND, der je von Sinn> und Zweck seiner FPGA-CPU überzeugt worden wäre.
Wer wie ich an den vordersten Designs im Bereich FPGA mitwirkt, wird
niemals von etwas überzeugt sein, dass ein Bastler baut. Dennoch erlaube
ich mir, meinen Kommentar zurückzuhalten und nicht Leute für ihre
Bastelprojekte zu schimpfen.
Ich verwende absichtlich nicht das Wort kritisieren, denn was hier läuft
ist zu 90% keine Kritik sondern nur Frust ablassen, dass man für eigene
Sachen nicht die Aufmerksamkeit bekommt.
Wenn Dich der thread nicht interessiert, bleib einfach weg!
> Soll er doch mit seinem Spielzeug spielen. Aber wer (damit) die> Öffentlichkeit sucht muss mit den Reaktionen leben. Allen, selbst> solchen die tatsächlich unter der Gürtellinie sind:
Nein, muss man nicht. Man kann erwarten, dass man respektvoll behandlet
wird.
Dieses Projekt ist ja schließlich kein unsinniger Quatsch, sondern nur
unnütze, weil er zu spät kommt. Vor 20 Jahren war das DER Bringer
gewesen.
> Soviel hohlköpfige Aggressivität disqualifiziert natürlich für den Titel> "Gutmensch".
Lies Dir mal die Bedeutung des Begriffes Gutmensch durch und überlege,
od Dein Satz einen logischen Sinn ergibt oder Du nicht etwas ganz
anderes gemeint hast.
Uhu Uhuhu schrieb:> Ganz so einfach ist es in der richtigen Welt doch nicht: Jeder Gutachter> wird für seine Leistung bezahlt und trotzdem kann man nicht davon> ausgehen, er sei bösen Sinn des Wortes "gekauft", hätte also ein> Gefälligkeitsgutachten abgeliefert.
Richtig, für den Sachverständigen trifft das zu, denn a) verdient er
seine Brötchen damit und b) kann ein Gefälligkeitsgutachen mit
Sanktionen enden.
Für die Geschichte hier ist die Zielgruppe weder gewerblich, noch sind
für den Geldnehmer irgendwelche Folgen zu erwarten, falls da was
geschönt wäre.
Allerdings gehe auch ich davon aus, dass die Bastelei von Josef G., so
absurd oder lebensfremd sie heute auch sein mag, prinzipiell im Rahmen
seiner Vorstellung funktioniert. Nur wurde dies, soweit ich erkennen
kann, nie in Frage gestellt und musste demgemäß nie bewiesen werden.
Der Beweis dagegen fehlt, dass dieses Ding eine breitere Masse
interessieren könnte. Im Gegenteil, die doch sehr überschaubare Zahl an
Teilnehmern, die sich's trotz Geldandrohung angetan haben, ist Beweis
dafür, dass es eben keinen so recht interessiert.
> Ein Test für einen> Prozessor im eigentliche Sinn war das nicht und unter dem Strich kam> auch nur das heraus, was man eh schon weiß.
So isses.
Boah!
Kann mal bitte ein Moderator diese ganzen Nörgler-, Miesepeter- und
Neider-Beiträge löschen?!
Haltet euch einfach raus, wenn ihr nichts technisches zum Thema
beitragen wollt / könnt!
Dieser Thread gehört Josef G., und ihr habt kein Recht ihn einfach
kaputt zu machen!
Ihr seid zum Kotzen!!!
P.S.
Ich fordere Adminrechte für angemeldete User in eigenen Threads.
Thomas schrieb:> Dieser Thread gehört Josef G., und ihr habt kein Recht ihn einfach> kaputt zu machen!
Der Thread gehört dem Forum und steht zur Diskussion frei.
> Ich fordere Adminrechte für angemeldete User in eigenen Threads.
Dann gäb's hunderte kleiner Diktatoren.
Thomas schrieb:> Dieser Thread gehört Josef G., und ihr habt kein Recht ihn einfach> kaputt zu machen!
Übersetzt: Ihr habt kein Recht ihn und sein Projekt zu kritisieren, mit
der Wirklichkeit zu konfrontieren und ihn aus seinen Wunschträumen zu
reißen!
Soll er seine Werbetexte doch in irgendeine Textdatei auf seinem PC
schreiben- dort erreicht er genausoviele Interessenten und ist vor
"bösartigen" Reaktionen geschützt.
Mops Fidibus schrieb:> Thomas schrieb:>> Dieser Thread gehört Josef G., und ihr habt kein Recht ihn einfach>> kaputt zu machen!>>> Übersetzt: Ihr habt kein Recht ihn und sein Projekt zu kritisieren, mit> der Wirklichkeit zu konfrontieren und ihn aus seinen Wunschträumen zu> reißen!
Nein, deine "Übersetzung" ist falsch. Sachkritik ist erwünscht,
Runtermachen von Personen nicht.
Woraus schliessen Sie, das:
- das ein recht gäbe die Personen an sich zu kritisieren?
-das ein Recht gäbe deren Projekte als "manisch gepflegte Hirngespinst"
abzutun?
-man jemand aus seinen Wunschtraum reissen MUSS? Mir wurde mitgegeben,
das man seine Träume leben sollte, resp. versuchen sie zu realisieren?
-das die betreffende Person nur durch Ihre Beiträge (m.E. keine Beiträge
sondern im Kern persönliche Angriffe bis zu Beschimpfungen) mit der
Realität konfrontiert wird?
-das die "Realitätswahrnehmung" mit der Sie geprägt wurden, Real ist
bzw. es wünschenswert wäre die Wahrnehmung zu erhalten und auf andere zu
übertragen?
Persönlich glaube ich, das Sie mit Ihren Projekten eine ernüchternde
Erfahrung gemacht haben und zu Wahrung Ihres Selbstwertgefühls dem
Nihilismus anheim gefallen sind: "Wenn ich nachweisen kann das alle
Versager sind, belastet mich mein eigenes Versagen weniger".
Der Fehler in einer solchen Argumentation ist, anzunehmen, es gäbe sowas
wie "Versagen" oder "Versager".
Hochachtungsvoll,
Was wollt Ihr denn von solchen Trollen denn erwarten, die alleine nichts
im Stande sind irgend ein Projekt von selbst auf die beinen zu stellen.
Das sind die Trolle, die vermutlich von Anderen etwas nehmen und
behaupten dann es wäre ihre Arbeit. Mein Gott müssen die trolle neidisch
sein nichts zu können ausser zu Stänckern und dann noch NULL NULL NUll
Ahnung von ihren geblubere.
Diese beiden Aussagen von ein und der selben Person muss man sich mal
auf der Zunge zergehen lassen. Irgendwie macht sich der Herr Professor
da nicht gerade glaubwürdig.
Prof. Xilinx schrieb:> Woraus schliessen Sie, das:>> - das ein recht gäbe die Personen an sich zu kritisieren?>> -das ein Recht gäbe deren Projekte als "manisch gepflegte Hirngespinst"> abzutun?Prof. Xilinx schrieb:> Persönlich glaube ich, das Sie mit Ihren Projekten eine ernüchternde> Erfahrung gemacht haben und zu Wahrung Ihres Selbstwertgefühls dem> Nihilismus anheim gefallen sind: "Wenn ich nachweisen kann das alle> Versager sind, belastet mich mein eigenes Versagen weniger".
Olga schrieb:> Diese beiden Aussagen von ein und der selben Person muss man sich mal> auf der Zunge zergehen lassen. Irgendwie macht sich der Herr Professor> da nicht gerade glaubwürdig.>>> Prof. Xilinx schrieb:>> Woraus schliessen Sie, das:>>>> - das ein recht gäbe die Personen an sich zu kritisieren?>>>> -das ein Recht gäbe deren Projekte als "manisch gepflegte Hirngespinst">> abzutun?>> Prof. Xilinx schrieb:>> Persönlich glaube ich, das Sie mit Ihren Projekten eine ernüchternde>> Erfahrung gemacht haben und zu Wahrung Ihres Selbstwertgefühls dem>> Nihilismus anheim gefallen sind: "Wenn ich nachweisen kann das alle>> Versager sind, belastet mich mein eigenes Versagen weniger".
Ich kann Ihnen nicht folgen, bitte erläutern Sie Ihre Zweifel an
"Glaubwürdigkeit".
Hochachtungsvoll,
Hi Jungs,
sorry, wenn ich mal kurz die Sinn-Philosophischen Beiträge mit etwas
Irdischem unterbreche:
Ich will mir in den nächsten 2 Stunden einen PMOD-SD-Adapter
zusammenlöten, um ihn an mein Spartan 3E Board zu klemmen.
Hat jemand von Euch eine Idee, wie man anschließend testen kann, ob der
Adapter auch wirklich funktioniert? Sprich: gibt's irgendwelche
Beispiel-Programme, die ich in das FPGA einladen kann, um den Adapter zu
testen?
Sodann noch eine Fragen an Josef:
@Josef:
Ich hoffe, eine 512 MB SD-uralt-Karte tut's genauso?
Oder müssen es 1GByte oder 2GByte SD-Karten sein?
Viele Grüße
Igel1
Andreas S. schrieb:> Ich hoffe, eine 512 MB SD-uralt-Karte tut's genauso?
Ja. Für einen ersten schnellen Test 1.SDR /00 eingeben.
Wenn kein Hänger oder Error-Meldung auftritt ist alles ok.
Hi Josef,
So, SD-Card ist angeschlossen:
Nix löten, nix Pullups, alles nur mit Clips und Jumpwires verdrahtet.
Habe nur Pin 1 ... 6 von J1 auf die entsprechenden Pins des SD Card
Slots geführt.
Und - ich kann's kaum glauben:
"1.SDR /00" hat keinen Hänger fabriziert!
Watt nu?
Bitte sage nicht, ich muß jetzt per Linux (was ich nicht installiert
habe) via RS232 (was mein Laptop nicht hat) eine Datei auf das Board
spielen?!
Viele Grüße
Igel1
Andreas S. schrieb:> Bitte sage nicht, ich muß jetzt per Linux
Anders gehts nicht. Das Programm sendcard für Windows umzuschreiben,
dazu fehlen mir die Kenntnisse. Habe aber bereits bei Unterbreitung
des Angebots zur SD-Karte darauf hingewiesen.
Beitrag "Re: Tester gesucht für FPGA-Projekt"
@ Prof. Xilinx (Gast)
>Nein, deine "Übersetzung" ist falsch. Sachkritik ist erwünscht,>Runtermachen von Personen nicht.
Die gab es reichlich, wurde aber oft als Personenkritik gemünzt.
Indirekt ist sie es ja auch, weil die PERSON sachliche Defizite
aufweist.
>- das ein recht gäbe die Personen an sich zu kritisieren?
Gibt es immer. Und selbst wenn es das nicht geben sollte, wird es getan.
Im gesamten Alltag.
>-das ein Recht gäbe deren Projekte als "manisch gepflegte Hirngespinst">abzutun?
Sachliche Schlußfolgerung nach Analyse der Threads und deren Inhalt.
>-man jemand aus seinen Wunschtraum reissen MUSS?
Muss man nicht. Ist aber unvermeidlich, wenn man sich in einem
öffentlichen Forum einer Diskussion stellt.
> Mir wurde mitgegeben,>das man seine Träume leben sollte, resp. versuchen sie zu realisieren?
Sicher, aber dann bitte nicht dem Rest der Welt diese als Segnung
verkaufen wollen, wenn diese es schlicht nicht sind.
>-das die "Realitätswahrnehmung" mit der Sie geprägt wurden, Real ist>bzw. es wünschenswert wäre die Wahrnehmung zu erhalten und auf andere zu>übertragen?
Jetzt wird's arg philosophisch. Fakt ist
- Josef G. hat ein Mikrorechnersystem erschaffen
- er möchte es einem breiten Publikum zugänglich machen
- das Publikum verweigert sich dem, u.a. wegen der kryptischen Doku
- Josef G. hat sich das "Interesse" der Tester mit Geld erkauft
>Nihilismus anheim gefallen sind: "Wenn ich nachweisen kann das alle>Versager sind, belastet mich mein eigenes Versagen weniger".
Ach herje. Es ist doch "ganz einfach". Bau ein Produkt, das wie eine
Bombe einschlägt. Vorbilder gibt es genügend. Iphone, Arduino etc. DAS
waren Produkte, welche die Massen spontan begeistert haben, vor allem
durch den INTUITIVEN Zugang! Diesem Prblem verschließt sich Josef G.
vehement. Das hat seine Gründe, die jenseits von Logik und Technik
liegen.
>Der Fehler in einer solchen Argumentation ist, anzunehmen, es gäbe sowas>wie "Versagen" oder "Versager".
Der Fehler solcher Argumentation ist, alles schön zu reden und jedem
Regenwurm die göttliche Absolution zu erteilen. Olympischer Gedanke
schön und gut (Dabeisein ist alles), aber das Leben mit der bösen
Realität funktioniert anders, auch wenn das oft unschön ist.
@Josef:
Ufff - das war ein Stückchen Arbeit:
Habe jetzt eine debian-Distribution unter einer VMWARE laufen.
gcc habe ich nachinstalliert und Dein "sendcard.c"
kompiliert - ohne Probleme.
Leider hat sich das Programm dann zunächst mit einem Segmentation Fault
verabschiedet - ohne einen weiteren Mucks zu sagen.
Nach einem Blick in den Quellcode habe ich dann geschnackelt, daß man
die Datei "cards" zwingend benötigt, sonst öffnet sendcard eine Datei,
die es nicht gibt und stürzt dann halt ab.
Evtl. möchtest Du Dein Programm an dieser Stelle etwas "idiotensicherer"
machen, damit man zumindest einen Hinweis erhält, was da gerade schief
läuft.
Kaum war Deine Datei "card.txt" in "cards" umbenannt, da kam ich bis zu
der ersehnten Abfrage "start ?".
So - nun wartet die nächste Herausforderung: wie bekomme ich aus meinem
Compi ohne serielle Schnittstelle die Daten via RS232 in mein Spartan 3E
gepumpt ...
Immerhin habe ich einen mySmartUSB MK2-Adapter, mit dem ich zumindest
unter Windows schon serielle Kommunikation gemacht habe:
http://shop.myavr.de/Programmer%20und%20Bridges/mySmartUSB%20MK2%20%28Programmer%20und%20Bridge%29.htm?sp=article.sp.php&artID=42
Bleibt zu hoffen, daß ich das Tierchen jetzt auch unter Linux ans
Fliegen bekomme.
Gruß
Igel1
Hallo Josef,
heureka - es funktioniert:
Ich habe dann doch noch einen Computer mit serieller Schnittstelle
auftreiben können und konnte nach dem Einspielen des Codes "card"
tatsächlich meine 512 MB SD-Card ansteuern.
Die SD-Card ist - wie auf dem letzten Bild ersichtlich - übrigens ohne
jegliche Pullup-Widerstände in einem mehr als fliegenden Aufbau an das
Board angeschlossen - funktioniert trotzdem und ich habe >30 EUR
gespart.
Anschließend habe ich die von Dir beschriebenen Prozeduren durchgeführt:
Beitrag "Re: Tester gesucht für FPGA-Projekt"
Hat alles gut geklappt.
Der spannendste Moment war natürlich der Moment nach dem kompletten
Reset des Boards: Würde sich das Rechen-Programm tatsächlich auf der
SD-Card befinden und wieder einlesen lassen? Jawohl, das tat es - die
Bilder zeigen den Vorgang.
Detailliert möchte ich die Schritte nicht mehr beschreiben - ich würde
mehr oder weniger die Beiträge aus den einzelnen Threads hier nochmals
wiederholen. Sollte das trotzdem gewünscht sein, so laß es mich wissen.
Manöverkritik:
Es gilt das bereits in meinem ersten Teil Gesagte: die Doku solltest Du
runderneuern - sie verleidet einem wirklich den Spaß.
Ansonsten: wirklich erstaunlich, daß Du ganz offensichtlich eine voll
funktionierende CPU samt Mini-Betriebssystem von Null an auf die Beine
gestellt hat.
Viele Grüße
Igel1
Josef G. schrieb:> Andreas S. schrieb:>> die Bilder zeigen den Vorgang.> Schön, dass die Schrift lesbar ist.
Ja - und leider ist mein ziemlich unaufgeräumter Schreibtisch genauso
gut sichtbar ...
Viele Grüße
Igel1
Habe die Konfiguration für das Spartan-3A Starter Kit geändert. Der
133MHz-Oszillator wird nun nicht mehr verwendet. Die Konfiguration
sollte nun auch auf dem älteren Revision-C Board funktionieren.
Dies wurde aber noch nicht getestet.
Josef G. schrieb:> Positive Eigenschaften der historischen 8bit-Heimcomputer sind:> Man kann sie auch ohne langes Studium vollständig verstehen.
Hm, leider scheint sich Josef diese Eigenschaften nicht zum Vorbild
genommen zu haben. Prinzipiell bin ich schon an der Thematik
interessiert aber von einfachem Verständnis kann hier keine Rede sein.
Weltbester FPGA-Pongo schrieb im Beitrag #3307028:
> M.Bär schrieb:>> Um was gehts hier eigentlich- (offensichlich) nur ums Beeindrucken und>> Zurschaustellen oder doch darum, dass hinterher wie permanent suggeriert>> ein sinnvolles, nützliches Produkt Anwender findet?> Wei bei 99% der Themen und Projekte hier, mein Lieber
Du meine Güte. Wie einfältig. Sicher gehört der Josef in diese
Kategorie, ansonsten gibt es aber viel mehr Motive, hier eine
Entwicklung/ein Projekt zu veröffentlichen! Sei es um qualifizierte
(Fehler-)Rückmeldungen und Anregungen aller Art zu erhalten, sei es um
dem Forum, von dem man anderweitig profitiert, etwas zurückzugeben.
Davon abgesehen ist es natürlich immer ein gutes Gefühl, wenn das eigene
Produkt auch für andere Sinn macht. Der lässt sich allerdings weder
er-werben noch erkaufen.
Habe die Konfiguration der vier FPGA-Boards geändert.
Die Start-Prozedur nach dem Konfigurieren erfordert nun nur
noch das Drücken eines einzigen Tasters (CPU-Reset aufheben).
Man kann nun (selbstgebaute) Zusatzhardware anschließen. Diese
fungiert als Teil der Steckkarte in Slot7. Schnittstelle siehe
Seite Hawa der Projekt-Website ganz unten. Die Steckkarte ent-
spricht damit weitgehend dem letztlich angestrebten Konzept,
mit dem Haupt-Unterschied, dass die zugehörige Software nicht
auf der Karten-Hardware liegt, sondern auf dem FPGA-Board.
gelangweilt schrieb:> hey, soll ich hier zu meiner belustigung auch ein tagebuch meiner> eigenen projekte aufmachen? egal obs jemand interessiert? wenn das jeder> macht?!
Mach doch. Hauptsache dir machts Spaß.
Habe beim S3A und S3E Starter den Anschluss für die SD-Karte
verlegt an die untere Ecke des Boards. Dadurch ist jetzt der
Hirose-Stecker für die Erweiterungs-Karte besser zugänglich.
Die Schnittstelle für die Erweiterungskarte habe ich überarbeitet.
Ich meine, sie ist jetzt vorzeigbar. Siehe auf der Projekt-Website
Seite Hawa unten. Es besteht Pin-Kompatibilität zwischen den drei
Xilinx-Boards (S3A-Starter, S3E-Starter, Nexys2). Für Kompatibilität
mit dem DE1 Board bräuchte man lediglich einen mechanischen Adapter.
Es wurde mir in diesem Thread vorgehalten, dass mein Rechner-System
zu nichts zu gebrauchen sei. Ich meine, mit der jetzt vorhandenen
Erweiterungs-Schnittstelle kann es Hobby-Hardwerkern als Mittel
zur manuellen Ein/Ausgabe für ihr Produkt dienen.
Die Schnittstelle beruht auf dem IO-Befehl H.. der CPU. Dabei gibt
die CPU das kombinierte Register AB auf dem Adressbus aus und liest
den Datenbus nach A ein. Die untere Hälfte des Adressbus (Register B)
übernimmt die Rolle eines Kommandos an das IO-Gerät, die obere Hälfte
bildet die Ausgabe-Daten. Bei der realisierten Schnittstelle sind nur
5 Bit des Registers B verfügbar. Das IO-Gerät kann die Eingabedaten
sofort liefern, oder verzögert und dazu die CPU anhalten.
Für die Treiber-Software sind auf dem FPGA-Board 32KByte in
Slot7 reserviert, ausserdem 32 KByte privater RAM-Bereich.
@ Josef G. (bome) Benutzerseite
>zu nichts zu gebrauchen sei. Ich meine, mit der jetzt vorhandenen>Erweiterungs-Schnittstelle kann es Hobby-Hardwerkern als Mittel>zur manuellen Ein/Ausgabe für ihr Produkt dienen.
Das geht mit einem Picoblaze oder reinen UART + FSM 10mal einfacher und
durchschaubar. Been there, done that.
Du hast nur ein weiteres Kapitel im Buch "How to shoot yourself in the
foot" geschrieben.
@Falk... Der Josef ist nicht einsichtsfähig und will seinen Thread nur
oben sehen. Soviel sollte doch inzwischen wirklich klar sein. Man muss
ihn diesbezüglich nicht noch andauernd unterstützen, das macht er schon
alleine. Die Tragikkomödie wird schon irgendwann ihr Ende finden! Also
lasst ihn doch in Ruhe seinen Traum hier leben.
>Der Josef ist nicht einsichtsfähig und will seinen Thread nur>oben sehen.
Was für unverbesserliche Idioten hier. Josef pflegt sein Projekt und die
Unterbelichteten haben nix besseres zu tun als dumm rumzumaulen.
DANN KLICKT DOCH DEN THREAD EINACH NICHT AN.
Mannmannmann...
Joachim ... schrieb:> Josef pflegt sein Projekt
Josef pflegt sein Hirngespinst.
Joachim ... schrieb:> die Unterbelichteten
... sind die die das noch nicht erkannt haben :-)
Einiges über Gleitpunkt-Arithmetik
Bei Verwendung des Hexadezimalsystems entfallen die Rundungs-
fehler bei der Umwandlung zwischen Zahl und Zahlenstring.
Damit wird auch die Intervall-Arithmetik verstärkt interessant.
Ich möchte nun folgendes 8-Byte-lange Zahlenformat vorschlagen:
Die ersten 2 Byte bestehen aus 1sbb,bbbb,bbbb,bbbb.
s ist das Vorzeichen. bb,bbbb,bbbb,bbbb ist der Exponent e.
Die restlichen 6 Byte sind die vorzeichenlose Mantisse M.
Die Zahl stehe für das Intervall s*[M-1,M+2]*2^(e-1fff)
Wenn statt 1s am Anfang 0s steht, sollen die restlichen Bits
eine Integer-Zahl mit Vorzeichen s bedeuten. Ausnahme: Wenn
die 8 Byte komplett 00 sind, soll dies "unbestimmt" bedeuten.
(Man kann s als Vorzeichen ansehen und 6+7*8 Bits als Betrag.
Dann gibt es eine positive und eine negative Null, von denen
eine überflüssig ist und durch "unbestimmt" ersetzt wird.
Oder man fasst alle 7+7*8 Bits als positiven Wert W auf,
welcher für die Zahl W-4000,0000,0000,0000 steht. Dann
stünde W=0 für -4000,0000,0000,0000, was durch
"unbestimmt" ersetzt wird.)
Dieses Zahlenformat ist redundanzfrei, und es
gibt zu jeder Zahl auch die dazu negative Zahl.
Für den Hexadezimal-String eines Gleitpunkt-Intervalls
schlage ich folgende Notation vor: sUzzzUzzzUzzz.n:EEE
Dabei steht s für + oder -, U,z,n,E sind Hex-Ziffern
(U: Ziffern mit Überstrich). EEE-800 ist 10er-Exponent.
Die Nachkommastelle n darf nicht 0 sein. Die letzte 1
in n dient als Terminierungs-Zeichen.
Die Entsprechung zwischen Zahl und String ergibt sich so:
Der 2er-Exponent e sei 4*k+r mit r=0|1|2|3
Damit e-1fff = 4*k+r-4*800+1 = 4*(k+1-800)-(3-r)
Also 2^(e-1fff) = 10^(k+1-800)/2^(3-r)
Man erhält also EEE als k+1, wobei 000 für 1000 steht.
UzzzUzzzUzzz.n erhält man, indem man an M den Wert .8
anhängt und das Ergebnis 3-r Bits nach rechts schiebt.
Bei dem vorgeschlagenen Zahlenformat ist die Größe des Fehler-
Intervalls stets gleich 3 mal eine Zweierpotenz. Wenn sich bei
Rechenoperationen eine kleine Vergrößerung des Fehlerintervalls
ergäbe, führt dies im Rahmen des Zahlenformats gleich zu einer
Verdopplung des Fehlerintervalls. Um das zu vermeiden, wird man
für Zwischenrechnungen zusätzlich ein "internes" Zahlenformat
einführen, bei welchem wie in der üblichen Intervall-Arithmetik
untere und obere Grenze als zwei unabhängige Zahlen behandelt
werden. Nach Abschluss der Zwischenrechnungen wird das Ergebnis
dann in das vorgeschlagene Format konvertiert und abgespeichert,
wobei die dann auftretende Verschlechterung des Fehlerintervalls
entsprechend seltener vorkommt.
Das vorgeschlagene Zahlenformat ist auf meinem Rechnersystem
implementierbar. Für die 8-Byte-Zahlen gibt es die Datentypen
Data und DataConst. Die Angabe von Konstanten im Qelltext eines
Programms erfolgt durch einen unterstrichenen String, welcher
mit der Nummer der Steckkarte beginnt, auf welcher die String-
Wert-Konvertierungsroutine liegt. Die Verarbeitung der Zahlen
erfolgt durch Kommandos und Mikro-Operationen auf der Karte.
Übrigens: Der IO-Befehl H.. der CPU eignet sich auch zum
Beschreiben und Auslesen von Registern eines Coprozessors.
Zu einem "Warum einfach, wenns auch kompliziert gehen kann"-Computer
gehört natürlich auch ein komplexes, völlig überflüssiges neues
Zahlenformat. Sonst wärs ja nicht kompliziert genug...
Kann mir mal einer erzählen, welches Problem ihr hier habt?
Ihr seid doch exakt von der Fraktion: "Ich kann selber nichts, also
mache ich wenigstens irgendwas der anderen schlecht, Hauptsache ich habe
was geschrieben". Habt ihr schon mal irgendwas gepostet, was von
Interesse ist?
Das ist SEIN Thema und er kann dazu schreiben was er will. Wenn ihr das
Thema nicht von Interesse findet, gibt es dazu einen sehr einfachen
Mechanismus: EINFACH NICHT LESEN!
Ich praktiziere das schon seit 20 Jahren erfolgreich mit der
BILD-Zeitung.
90% der threads hier im Forum sind inhaltlich ganz grosses Kaka, da ist
die Vorstellung seines 8 Bit Computers wenigstens noch was Sinnvolles.
Josef G. schrieb:> Bei Verwendung des Hexadezimalsystems entfallen die Rundungs-> fehler bei der Umwandlung zwischen Zahl und Zahlenstring.
Deswegen arbeiten Gleitpunkt-Arithmetiken, die Wandlungsfehler vermeiden
wollen, intern mit BCD-Artihmetik.
> Dieses Zahlenformat ist redundanzfrei
Wen juckt die Redundanz in der BCD-Codierung bei den heutigen Preisen
für Digitalelektronik?
Diesen Hex-Scheiß, in den du dich da verrannt hast, braucht kein
Mensch...
Uhu Uhuhu schrieb:> du dich da verrannt hast
Leute, das bringt doch nix... Nun lasst ihm doch die Zeit, diese
Sackgasse geduldig und konsequent, mit aller unergründlichen Tiefe
Josefscher Phantasien bis zum bitteren Ende zu gehen -
Geschockter schrieb:> da ist> die Vorstellung seines 8 Bit Computers wenigstens noch was Sinnvolles
... zumal er doch immer noch Fans auf seiner Seite hat die das
"Sinnvoll"
finden und tatsächlich vom Rest annehmen,
Geschockter schrieb:> 90% der threads hier im Forum sind inhaltlich ganz grosses Kaka
!!!
Fpga Kuechle schrieb:> Könnte man bitte mit den Beleidigungen und Schmähungen aufhören!> Wenn es zur Sache nichts mehr zu sagen dann schweigt eben.
Richtig, ich schliesse mich an. Schlimm, was hier von Arroganten, die
die Grenzen nicht kennen, taktlos abgelassen werden darf.
Andreas S. schrieb:> Hi "M. Bär",>>> @Igel1: Zu einem ehrlichen Bericht hätte gehört, was dafür bezahlt wurde!>> Zunächst:>> Zu einer ehrlichen Kritik hätte gehört, sich im Forum anzumelden und zu> seinen Äußerungen mit seinem Namen und seiner Person zu stehen.
solch Getrolle ignoriert man einfach und konsequent. Alles andere
bedeutet, man nimmt sowas ernst.
Daumen hoch für Deinen und Josefs Einsatz! Mir fehlt es leider an Zeit.
LG Karl-Heinz
Autor von www.sharpmz.org
Habe das Projekt überarbeitet.
Die CPU brauchte ursprünglich zwei Taktsignale, welche jeweils
ein unsymmetrisches Tastverhältnis hatten. Jetzt sind die Takte
symmetrisch, und es gibt auch eine Version mit nur einem Takt.
Die CPU steht unter Creative-Commons-Lizenz zur Verfügung.
http://www.mikrocontroller.net/articles/8bit-CPU:_bo8
In der Gesamt-Konfiguration habe ich die Dauer
eines Halbzyklus von 360ns auf 320ns verkürzt.
CPU-Befehle dauern 2 oder 4 oder 6 Halbzyklen.
Die Verwendung des Parallel-Flash bei den Xilinx-Boards habe ich
aus der Konfiguration entfernt. Dadurch wurde die Dokumentation
auf der Seite Hawa der Projekt-Website übersichtlicher.
http://www.bomerenzprojekt.de
Hm, durch deinen neuen Post hier habe ich zufällig diesen Thread
gefunden. Lustig.
Ich habe mir mal das VHDL der CPU angesehen. Ich glaube ich habe noch
nie so kryptischen und unverständlichen Spaghetticode gesehen (Hunderte
Signale? WTF). Die Doku ist aber noch wirrer als der Code.
Das Ziel, eine Hardware zu entwerfen, die man ohne langes Studium leicht
verstehen und nutzen kann, hast du leider komplett verfehlt. Erstens ist
die Beschreibung und Dokumentation sehr wirr, stichwortartig und
(wahrscheinlich) unvollständig, zweitens brichst du mit allen
Konventionen und Standards.
Dein Rechner hat den Anspruch, modern zu sein, aber irgendwie kommt mir
nach kurzem Blick auf die Doku ein C64 eigentlich moderner und eleganter
vor. Uralte Konzepte in der Breite aufzubohren heißt nicht, dass es
modern wird.
Habe die Schnittstelle für die Hardware-Erweiterung geändert. Es
gibt jetzt einen 9bit-breiten Ausgangsport und einen 8bit-breiten
Eingangsport und zwei Handshake-Leitungen für asynchronen Betrieb.
Damit sollte der Anschluss eines Mikrocontrollers möglich sein.
Vielleicht hat ja jetzt jemand eine Verwendung für das Gerät.
Allerdings: Die Schnittstelle habe ich nicht getestet. Die
zugehörige vhdl-Entity hat aber nur ein paar Zeilen Code.
Wer daran denkt, Hardware dafür zu basteln, möge sich den
Code ansehen und sich von der Funktion überzeugen.
Siehe Projekt-Website / Seite Hawa ganz unten.
------------------------------------------------------
Beim S3A Starter Kit hat sich herausgestellt, dass die
Funktion nach Änderung des Takt-Routings nicht mehr
gegeben war. Dies lag wohl am Zusammenspiel des 50MHz-
Taktes mit dem für das DDR2-RAM gebrauchten 150MHz-Takt.
Ich habe die entsprechenden Teile der Konfiguration
geändert. Sie funktioniert jetzt stabil.
Hallo, guten Tag.
Ich habe als Anfänger mit 65 Jahren das DE1-Board.
Du hattest mal geschrieben das du den Rechner auch für das DE1-Board
geschrieben hast.
Wo kann man den bitte einmal laden?
Danke.
Gruss
Josef G. schrieb:> gibt jetzt einen 9bit-breiten Ausgangsport und einen 8bit-breiten> Eingangsport und zwei Handshake-Leitungen für asynchronen Betrieb.> Damit sollte der Anschluss eines Mikrocontrollers möglich sein.
Es gibt jetzt einen zusätzlichen Eingang, mit dem man 8 der
9 Ausgänge hochohmig schalten kann. Somit kann man diese mit den
8 Eingängen zusammenlegen. Dadurch reduziert sich die Anzahl der
benötigten GPIO-Pins des uC auf maximal 12.
Habe die Software für die SD-Karte, welche bisher eine eigene
virtuelle Steckkarte belegte, mit der Test-Steckkarte in Slot1
zusammengelegt. Man muss jetzt auch beim DE1 nur eine Karten-
Software nach dem Konfigurieren laden. Ausserdem habe ich die
Karten-Software überarbeitet und die Beschreibung verbessert.
Siehe Seite Hawa von http://www.bomerenzprojekt.de
Josef G. schrieb:> Man muss jetzt auch beim DE1 nur eine Karten-> Software nach dem Konfigurieren laden.
ENDLICH! Jetzt wird alles gut. Jetzt rollt Josef den Markt auf!
Das Programm zum Übertragen der Steckkarten-Software mittels RS232
vom PC zum Board gibt es bisher nur für Linux. Kann sein, dass das
ein Hindernis ist bei der Akzeptanz des Projekts. Vielleicht liest
hier jemand mit, der in der Lage und bereit ist, das Programm für
Windows umzuschreiben und das Ergebnis hier zu posten.
Der Quelltext sendcard.c des Programms für Linux findet sich auf der
Seite Downloads meiner Website. Die 32Kbyte der Steckkarten-Software
liegen vor als Hex-Text mit 1024 Zeilen zu je 64 Zeichen / 32 Byte.
Das Programm überträgt die Bytes aber als Bytes und nicht als je 2
Zeichen, so dass alle 256 Werte übertragen werden müssen und nicht
manche Werte als Steuerzeichen interpretiert werden dürfen. Die
Handshake-Leitungen werden nicht verwendet.
Realisierungen des Systems gab es bisher auf folgenden Boards:
Spartan-3A Starter, Spartan-3E Starter, Nexys2, Altera DE1
Es gibt nun auch eine Realisierung auf dem Altera DE0 Board.
Beim DE1 habe ich jetzt ebenfalls das SDRAM in Betrieb
genommen und die Konfiguration entsprechend geändert. Das
SRAM wird jetzt nur noch für die Video-Ausgabe verwendet.
Josef G. schrieb:> dass man ... informiert.
Nein, Du sprichst mit Dir selbst.
Vielleicht sollstest Du den Quotienten von Aufwand/Nutzen Deiner
Projekte ins Vorstellbare zurückführen um das zu ändern.
Puckel, lass Joseph hier seine Sachen posten, so wie er will. Im
Gegensatz zu Deinen Posts haben seine einen fachlichen Inhalt und er
bleibt sachlich.
Er hält sich an die Foren-Regeln. Wenn Dir diese Art Technik nicht
gefällt. beschreibe fachlich bessere Methoden, ansonsten halte bitte den
Mund.
Franz schrieb:> haben seine einen fachlichen Inhalt
Ja, als Beispiel dafür wie man sich möglichst kompliziert von hinten
durch die Brust ins Auge schießt. Hast du dir mal sein Projekt
angesehen? Dann solltest du eigentlich verstehen warum ihn hier niemand
wirklich ernst nimmt.
Ulrich B. schrieb:> falls du noch Anregungen für einen schöneren Zeichensatz suchst
Auf meiner Website wird der Zeichensatz vergrößert dargestellt
und sieht dadurch sehr unschön aus. Am realen System auf einem
kleinen Monitor sieht er etwas besser aus.
Franz schrieb:> Puckel, lass Joseph hier seine Sachen posten, so wie er will. Im> Gegensatz zu Deinen Posts haben seine einen fachlichen Inhalt und er> bleibt sachlich.
So ist es. Entweder sinnvollen Beitrag zum Projekt oder Klappe!
Lars schrieb:> Ja, als Beispiel dafür wie man sich möglichst kompliziert von hinten> durch die Brust ins Auge schießt. Hast du dir mal sein Projekt> angesehen?
Ich arbeite seit 15 Jahren mit FPGAs und sehe fast jede Woche ein neues
Design irgendeines Experten. Und ich darf Dir versichern: Josef liegt
mit der Qualität seiner Arbeit voll in der Mitte!
Und dass das Ganze hier kein grosses Interesse findet, hat Gründe:
8-Bit Systeme sind etwas für Retrotypen, die sich dafür interessieren
(das tue ich z.b. ausdrücklich), die aber auch Zeit für sowas haben,
denn die Einarbeitung insowas in aufwändig. Ich z.B. habe keinen Tropfen
Zeit dafür. Wenn ich in Rente wäre, würde ich mich draufstützen.
Andererseits gibt es mmit den FPGA-Arcade-Sachen schon genau das, was
ich selber brauche.
Josefs Bastelprojekt ist also bemerkenswert - aber für viele nutzlos.
Trotzdem bleibt es beachtenswert, besonders, wenn man sich reinzieht,
was sonst noch so alles hier an "Projekten" veröffentlicht wird.
FPGA-Spezi schrieb im Beitrag #3813079:
> nutzlos> beachtenswert
Schließt sich für meine Begriffe aus.
> Ich z.B. habe keinen> Tropfen Zeit dafür.
Muß nicht wirklich verwundern.
> Wenn ich in Rente wäre, würde ich mich draufstützen.
Noch keinen Rentner hier gesehen der das täte. Auch sonst niemanden.
Ohne Bezahlung ;-)
Anders als bei den historischen 8bit-Computern erfolgt die
Zeichen-Ausgabe nicht durch eine Zeichengenerator-Hardware,
sondern die Pixelmuster der Zeichen werden durch die CPU
ins Video-RAM geschrieben. Man kann also auch Grafiken
programmieren. Das Video-RAM ist zwischen zwei Seiten
umschaltbar, das ermöglicht bewegte Grafiken.
Vielleicht denkt ja doch noch jemand darüber nach,
Software für das System zu schreiben, nachdem sich
jetzt durch ein weiteres FPGA-Board der Kreis der
potentiellen Anwender nochmal vergrößert hat.
Es gibt eine kleine Änderung der CPU: Bei Code-Folge H.. H..
wird auf dem Adressbus jetzt P statt K ausgegeben, und das
Einlesen des Datenbus nach A entfällt.
@Josef G. (bome) Benutzerseite
>Es gibt eine kleine Änderung der CPU: Bei Code-Folge H.. H..>wird auf dem Adressbus jetzt P statt K ausgegeben, und das>Einlesen des Datenbus nach A entfällt.
Das ist ja eine FUNDAMENTALE Neuerung, die dem Projekt sicher zum
Durchbruch verhelfen wird . . . !!!
Puckel schrieb:> FPGA-Spezi schrieb im Beitrag #3813079:>>> nutzlos>> beachtenswert
Beachtenswert nutzlos- für den Aufwand.
Josef G. schrieb:> Es gibt eine kleine Änderung der CPU:Falk Brunner schrieb:> Das ist ja eine FUNDAMENTALE Neuerung,
Das sind Thread-Blähungen. Viel Luft um nix ;-)
Falk Brunner schrieb:> @Josef G. (bome) Benutzerseite>>>Es gibt eine kleine Änderung der CPU: Bei Code-Folge H.. H..>>wird auf dem Adressbus jetzt P statt K ausgegeben, und das>>Einlesen des Datenbus nach A entfällt.>> Das ist ja eine FUNDAMENTALE Neuerung, die dem Projekt sicher zum> Durchbruch verhelfen wird . . . !!!
Falk,
ich bezweifle mal das DU verstehst was er da geschrieben hat! Ich finde
es toll das gemand anderen seiner Arbeit zu nichte mach, nur weil der
eine nicht versteht was dahinter steckt!
Wenn ich verstehen würde was Josef da zusammenbastelt wäre ich wohl der
FPGA-Crack schlechthin. Er hat halt spaß daran soetwas zu machen, also
bitte unterlasse es ihn deswegen blöd anzumachen! Oder gehst du zu nem
Golfspieler hin und pöpelst nur weil du keinen sinn in diesem sport
siehst?
Alex W. schrieb:> Er hat halt spaß daran soetwas zu machen,
Den kann er doch - für sich - haben.
Wer aber hier was reinschreibt bekommt Rückmeldungen.
Ob diese gefallen oder nicht.
Die vielen negativen, z.T. sehr ironischen sind dabei noch die
ehrlichsten, weil sie dem TO tatsächlich die Sackgasse aufzeigen, in der
er sich befindet.
Ganz im Gegensatz zu einigen leeren Absichtserklärungen weniger
"Unterstützer" , die m.M. nach aus ach so hehren moralischen Motiven nur
Interesse heucheln und ihn letztlich damit nur in jener Sackgasse
bestärken.
Es ist nun mal so: viel Arbeit, Zeit und Einsatz in ein Projekt zu
stecken gibt diesem nicht per se Sinn- jedenfalls für einen praktischen
Einsatz. Den sollte man sich, so wie hier beabsichtigt, tunlichst vorher
überlegen. Viel Arbeit, Zeit und Einsatz führen sonst nur zu einer
blinden emotionalen Bindung, von der man sich, so wie hier demonstriert,
kaum noch lösen kann. Jammerschade eigentlich wenn man bedenkt, was mit
dieser Zeit und den vorhandenen Fähigkeiten womöglich sonst sinnvolleres
angestellt werden könnte.
M.Bär schrieb:> Es ist nun mal so: viel Arbeit, Zeit und Einsatz in ein Projekt zu> stecken gibt diesem nicht per se Sinn- jedenfalls für einen praktischen> Einsatz. Den sollte man sich, so wie hier beabsichtigt, tunlichst vorher> überlegen. Viel Arbeit, Zeit und Einsatz führen sonst nur zu einer> blinden emotionalen Bindung, von der man sich, so wie hier demonstriert,> kaum noch lösen kann. Jammerschade eigentlich wenn man bedenkt, was mit> dieser Zeit und den vorhandenen Fähigkeiten womöglich sonst sinnvolleres> angestellt werden könnte.
Da sieht man, wie die Menschen sind:
Nur Leidenschaft und kein Gewissen!
Hintergrund der letzten CPU-Änderung:
Die IO-Operation H.. gibt K auf dem Adressbus aus und liest
den Datenbus nach A ein. K ist die Kurzbezeichnung für AB.
Der Sprungbefehl J.. lädt K in den Programmzähler P. Somit
ist die Folge H.. J.. eine unsinnige Code-Folge, weil dabei
das Highbyte des Sprungziels über eine IO-Operation geladen
würde. Diese Code-Folge erhält einen Sinn dadurch, dass in
diesem Fall H.. nicht als IO-Befehl wirkt, sondern bewirkt,
dass J.. mit einer Memory-Page-Umschaltung kombiniert wird.
Es bleibt aber jetzt die unschöne Situation, dass H.. H.. J..
eine sinnlose Folge darstellen würde, da der Sprung H.. J..
mit Seitenumschaltung auf die IO-Operation H.. folgen würde.
Deshalb erhält die Folge H.. H.. eine spezielle Funktion.
Die Folge wird auf den Steuerleitungen angezeigt, wobei P
auf dem Adressbus ausgegeben wird. Dies kann per externer
Hardware zB. ein Anhalten der CPU auslösen. Da K erhalten
bleibt, kann unter Umständen ein nachfolgendes J.. eine
sinnvolle Funktion haben.
Hallo Joseph,
gerade wenn der Weg das Ziel ist, lass dich nicht abhalten. Ansonsten
hätte ich schon eine Anwendung. Die alten Spiele haben sehr viel Spass
gemacht. Da kam es auf clevere Spielkonzepte und nicht nur auf
aufgepumpte Grafik an. Versuche doch Tetris, Blockout, Packman und wie
sie alle hiessen zu programmieren.
Und du bist nicht allein. Es gibt genug Verrückte die sich mit demn
Thema Retro-Computer befassen.
siehe hier:
http://www.zx81.de/
:-P
@ Alex W. (a20q90)
>ich bezweifle mal das DU verstehst was er da geschrieben hat!
Das darfst du, wenn gleich du auf dem Holzweg bist.
>Ich finde>es toll das gemand anderen seiner Arbeit zu nichte mach, nur weil der>eine nicht versteht was dahinter steckt!
Ich verstehes ausreichend, um zu versthen, dass es eher unverständlich
ist.
Verstehst du? ;-)
>Wenn ich verstehen würde was Josef da zusammenbastelt wäre ich wohl der>FPGA-Crack schlechthin.
Und ein 2. Rainman, neudeutsch, Nerd.
> Er hat halt spaß daran soetwas zu machen, also>bitte unterlasse es ihn deswegen blöd anzumachen!
Welche wie auch immer sinnvollen oder sinnfreien Hobbys andere Leute
haben, ist mir relativ egal. Aber wie schon mehrfach geschrieben, geht
es Josef darum, sein Projekt anzupreisen und Anwender zu finden. Er hat
sogar schon mal Tester BEZAHLT, damit sie sich das antun!
Also geht es um eine sachliche Bewertung des Projekts. Leider fällt die
meist weniger gut aus. Such im Forum nach Josef und meinem Namen, dort
findest du ausreichend Aussagen, warum das Projekt nix taugt.
> Oder gehst du zu nem>Golfspieler hin und pöpelst nur weil du keinen sinn in diesem sport>siehst?
Nö, die Golfspieler preisen aber auch nicht ständig ihr Spiel in einem
Forum an. Ausserdem bin ich Minigolfspieler! ;-)
Beispiel: OpCode 69: XRMX
Weiter unten steht: % stehe für X|Y|Z und
XRM% | XR.B A wird A xor op mit op = (%) | B
Die letzte Zeile steht also für
XRMX A wird A xor (X)
XRMY A wird A xor (Y)
XRMZ A wird A xor (Z)
XR.B A wird A xor B
XRMX bewirkt also, dass A mit dem Inhalt jener Speicherzelle,
auf welche das Adress-Register X zeigt, xor-verknüpft wird.
Natürlich könnte man zu jedem der 256 OpCodes eine mehrzeilige
Beschreibung angeben, aber das wäre halt entsprechend lang.
Josef G. schrieb:> Hintergrund der letzten CPU-Änderung:>> Die IO-Operation H.. gibt K auf dem Adressbus aus und liest> den Datenbus nach A ein. K ist die Kurzbezeichnung für AB.> Der Sprungbefehl J.. lädt K in den Programmzähler P. Somit> ist die Folge H.. J.. eine unsinnige Code-Folge, weil dabei> das Highbyte des Sprungziels über eine IO-Operation geladen> würde. Diese Code-Folge erhält einen Sinn dadurch, dass in> diesem Fall H.. nicht als IO-Befehl wirkt, sondern bewirkt,> dass J.. mit einer Memory-Page-Umschaltung kombiniert wird.>> Es bleibt aber jetzt die unschöne Situation, dass H.. H.. J..> eine sinnlose Folge darstellen würde, da der Sprung H.. J..> mit Seitenumschaltung auf die IO-Operation H.. folgen würde.>> Deshalb erhält die Folge H.. H.. eine spezielle Funktion.> Die Folge wird auf den Steuerleitungen angezeigt, wobei P> auf dem Adressbus ausgegeben wird. Dies kann per externer> Hardware zB. ein Anhalten der CPU auslösen. Da K erhalten> bleibt, kann unter Umständen ein nachfolgendes J.. eine> sinnvolle Funktion haben.
Also spätestens nach diesem Beitrag kann man doch das Projekt nicht mehr
ernst nehmen.
Du kannst doch nicht allen Ernstes verlangen, dass sich jemand sowas
antut...
Um etwas Konstruktives beizutragen: schreib doch einen C-Compiler für
deine CPU, dann besteht immerhin die theoretische Möglichkeit das jemand
was zum Projekt beiträgt.
bal schrieb:> Also spätestens nach diesem Beitrag kann man> doch das Projekt nicht mehr ernst nehmen.
Inwiefern?
> Um etwas Konstruktives beizutragen: schreib> doch einen C-Compiler für deine CPU
Abgesehen davon, dass ich das gar nicht könnte:
Der Befehlssatz der CPU ist so Programmierer-freundlich, dass
es nicht nötig ist, ihn hinter einem Compiler zu verstecken.
Bei dieser CPU macht Assembler-Programmierung Spass.
Josef G. schrieb:> Bei dieser CPU macht Assembler-Programmierung Spass.
Wem denn? Nenne einen Namen außer Josef G.
Mir würde sie jedenfalls keinen Spaß machen. Du präsentierst dieses
Thema derart trocken, dass ich flüchten würde, müsste ich mir einen
Vortrag von Dir zu diesem Thema anhören.
Allein Dein obiges Gestammel zu K, A, H, J (was ist das überhaupt?!?)
ist absolut unverständlich. Gibts das irgendwie auch systematisch?
Bitte nicht so:
"Die IO-Operation H.. gibt K auf dem Adressbus aus und liest
den Datenbus nach A ein."
Es gibt also eine IO-Operation H.. mit zwei Pünktchen hinter dem H? Was
ist K? Warum sind da keine zwei Pünktchen? Ist das ein Register? Wie
breit ist das Register und warum heisst es K? Wird da eine Adresse
ausgegeben? Wie breit ist denn der Adressbus? Und wieso wird der
Datenbus eingelesen? Du unterscheidest also nicht zwischen RAM und I/O
Operationen beim Zugriff auf den Datenbus? Und der Datenbus wird einfach
so eingelesen? Ohne einen Strobe oder ein sonstiges Signal? Wo gibt es
Timing-Diagramme dazu? Was ist denn A? Ein Akkumulator? Oder einfach ein
Register, welches nicht K(onrad), sondern A(nton) heisst?
Das sind jetzt schon zig Fragen zu einem einzigen Satz von Dir. Wenn ich
mir jetzt weitere 9 Sätze von Dir anschaue, bin ich bei weit über 100
Fragen, ohne irgendwas zu kapieren.
Wenn ich mir Deine vollständige Befehlssatz-Tabelle anschaue, dann
stellen sich mir viele weitere Fragen. Wie breit ist der Opcode? Etwa 3
Nibble? Für SVMX ergibt sich der Opcode nach Deiner Tabelle mit Hex 684.
Kannst Du Nibbles (also 4 Bit) adressieren oder wie liest Deine CPU
diesen Opcode ein? Oder füllst Du den Opcode mit einem 0-Nibble auf, so
dass der Opcode dann 0684 ist und damit glatte 2 Byte lang ist? Wenn ja,
hältst Du dieses nicht auch für ineffizient, 1/4 aller nötigen Daten
umsonst eingelesen zu haben und dabei auch noch 1/4 des Speicherplatzes
zu verschenken? Oder steckt in dem überzähligen Nibble ein weiterer
Operator?
Fragen über Fragen.... und nichts ist ausreichend erklärt.
Und jetzt nochmal zurück zu Deiner Aussage:
> Bei dieser CPU macht Assembler-Programmierung Spass.
Definitiv nicht. Das kann keinen Spaß machen.
Falk Brunner schrieb:> Such im Forum nach Josef und meinem Namen, dort> findest du ausreichend Aussagen, warum das Projekt nix taugt.
Wenn ich nur nach Deinem Namen such komm ich auch zu einer eigenen
Meinung :-D
scnr
Frank M. schrieb:> Allein Dein obiges Gestammel zu K, A, H, J (was ist das überhaupt?!?)> ist absolut unverständlich. Gibts das irgendwie auch systematisch?
A ist der Akku, das steht auf der Seite CPU-doku. A ist 8bit breit,
das steht nirgendwo explizit, ist aber bei einer 8bit-CPU klar.
K ist eine Kurzbezeichnung für das Doppelregister AB. Das
steht auf der Seite CPU-doku, und nochmals in obigem Beitrag.
> Es gibt also eine IO-Operation H.. mit zwei Pünktchen hinter dem H?
Die Operation H.. wird auf der Seite CPU-doku beschrieben.
Der Punkt steht für den von mir eingeführten auf der Grundlinie
liegenden Bindestrich. Das steht auch auf der Seite CPU-doku.
Dieses Zeichen gehört nach der Systematik des Zeichensatzes zu
den Großbuchstaben.
> Was ist K? Warum sind da keine zwei Pünktchen?> Ist das ein Register? Wie breit ist das Register
Siehe oben.
> und warum heisst es K?
Warum nicht?
> Wird da eine Adresse ausgegeben?
Bei IO-Operationen wird K ausgegeben. Welche
Funktion das hat, entscheidet die periphere Hardware.
> Wie breit ist denn der Adressbus?
16bit. Steht auf der Seite CPU-doku (A0..Af)
> Und wieso wird der Datenbus eingelesen?
Weil die CPU so gemacht ist.
> Du unterscheidest also nicht zwischen RAM und> I/O Operationen beim Zugriff auf den Datenbus?
Doch, natürlich. Wie kommst du darauf?
> Und der Datenbus wird einfach so eingelesen?> Ohne einen Strobe oder ein sonstiges Signal?
Die CPU gibt keine WE, RD -Signale oder so etwas aus.
Stattdessen gibt es die Typleitungen. Dort wird der Halbzyklus-Typ
angezeigt. Siehe Seite CPU-doku. Die WE, RD -Signale müssen daraus
per externer Hardware erzeugt werden.
> Wo gibt es Timing-Diagramme dazu?
Stehen auf der Seite CPU-doku.
> Was ist denn A? Ein Akkumulator?
A ist der Akku, das steht auf der Seite CPU-doku.
> Wie breit ist der Opcode? Etwa 3 Nibble?
OpCodes sind 8bit breit. Das ergibt sich zB. aus der Tabelle.
> Für SVMX ergibt sich der Opcode nach Deiner Tabelle mit Hex 684.
Nein. Der OpCode ist 68+4 = 6c. Sollte aus der Tabelle klar sein.
> Kannst Du Nibbles (also 4 Bit) adressieren oder wie liest Deine CPU> diesen Opcode ein? Oder füllst Du den Opcode mit einem 0-Nibble auf, so> dass der Opcode dann 0684 ist und damit glatte 2 Byte lang ist? Wenn ja,> hältst Du dieses nicht auch für ineffizient, 1/4 aller nötigen Daten> umsonst eingelesen zu haben und dabei auch noch 1/4 des Speicherplatzes> zu verschenken? Oder steckt in dem überzähligen Nibble ein weiterer> Operator?
Ist nach dem oben gesagten hinfällig.
> Fragen über Fragen.... und nichts ist ausreichend erklärt.
Ich bin bei all meinen Beiträgen hier im Forum immer davon
ausgegangen, dass die Mitleser die Seite CPU-doku kennen.
> Und jetzt nochmal zurück zu Deiner Aussage:>> Bei dieser CPU macht Assembler-Programmierung Spass.> Definitiv nicht. Das kann keinen Spaß machen.
Vielleicht überdenkst du das nach dieser Antwort nochmal.
Josef G. schrieb:> Vielleicht überdenkst du das nach dieser Antwort nochmal.
Was hälst Du von dem Gedanken daß eher Du was überdenken solltest?
Nämlich nichts weniger als den kompletten Sinn Deiner ganzen FPGA-CPU
Technikstudie? Nicht alles was machbar ist ist auch sinnvoll.
Josef G. schrieb:> Der vollständige Befehlssatz ist diese Tabelle:>> +0 +1 +2 +3 +4 +5 +6 +7>> 00- H.. SL.S SW.X SL.X SW.Y SL.Y SW.Z SL.Z>>> Beispiel: OpCode 69: XRMX>> Weiter unten steht: % stehe für X|Y|Z und> XRM% | XR.B A wird A xor op mit op = (%) | B>> Die letzte Zeile steht also für>> XRMX A wird A xor (X)> XRMY A wird A xor (Y)> XRMZ A wird A xor (Z)> XR.B A wird A xor B>> XRMX bewirkt also, dass A mit dem Inhalt jener Speicherzelle,> auf welche das Adress-Register X zeigt, xor-verknüpft wird.
Nun, dann schreib es doch auch so in deine Web-page!
>Natürlich könnte man zu jedem der 256 OpCodes eine mehrzeilige>Beschreibung angeben, aber das wäre halt entsprechend lang.
Entschuldigung aber ich verstehe deine Befehlsabkürzungen so nicht,
und es geht anscheinend anderen Lesern deiner Seite hier genauso!
Mach die die Mühe der Doku mit Beispielen!
(also nicht als Antwort in diesem Forum sondern auf
deiner WEB-Seite)
-> lies doch mal ein paar CPU-Datenblätter oder Webseiten, und
lerne daraus wie andere Dokumentieren;
im Anhang habe ich mal ein paar Anregungen so zum Start....
>Abgesehen davon, dass ich das gar nicht könnte:>Der Befehlssatz der CPU ist so Programmierer-freundlich, dass>es nicht nötig ist, ihn hinter einem Compiler zu verstecken.>Bei dieser CPU macht Assembler-Programmierung Spass.
Assembler, und ist er noch so schön, ist halt nicht portierbar.
Also ich empfehle dir dich dochmal mit "forth" auseinanderzusetzen,
hier z.B.: http://www.forth-ev.de/
gibt es eine deutschsprachige forth Gemeinde, hier hat jemand forth
selbst portiert:
http://www.forth-ev.de/wiki/doku.php/projects:r8c:r8c_forth
was bei forth nicht zu schwer zu sein scheint!
Josef G. schrieb:> A ist der Akku, das steht auf der Seite CPU-doku. A ist 8bit breit,> das steht nirgendwo explizit, ist aber bei einer 8bit-CPU klar.> K ist eine Kurzbezeichnung für das Doppelregister AB. Das> steht auf der Seite CPU-doku, und nochmals in obigem Beitrag.
"ist aber bei einer 8bit-CPU klar."
Merkst Du eigentlich, dass Du dich mit solchen Aussagen selbst weit ins
Abseits stellst und Du nur ein Diskussionspartner für andere Anfänger
sein kannst.
Zur Verdeutlichung:
8bit-CPU 6809: X- und Y-Register sind 16 Bit breit.
8bit-CPU Z80: HL-, IX- und IY-Register sind 16 Bit breit.
Warum auch nicht...
Und da gibt es noch einige Beispiele mehr, auch bei anderen CPUs. Für
DICH ist es vielleicht klar, dass der Akku nur 8 Bit breit ist, Du
kennst es offensichtlich nicht anders. Andere jedoch, mit einer ungleich
größeren Erfahrung in Bezug auf 8 Bit-CPUs weisen Dich letztlich nur auf
Deine mangelnde Dokumentation hin. Warum nur schreibt z.B. Rodnay Zaks
hunderte Seiten nur für eine einzige CPU?
Warum nennst Du dein Doppelregister AB denn K? Warum heist es nicht AB?
Sich mit so einer CPU zu beschäftigen, kommt wirklich einer Folter nahe!
Mal ein anderes praktisches Beispiel:
Eine kurze Verzögerungsschleife in 6502-Assembler:
1
LDX #$FF ;LoaD X mit $FF (255 dezimal)
2
Loop: DEX ;DEkrementiere X
3
BNE Loop ;Branch if Not Equal to zero
Sowas kann man fließend lesen und es ist nahezu selbsterklärend!
Zeige doch mal ein praktisches Beispiel mit Deiner CPU! Zum Beispiel
eine Schleife, um den Bildschirm zu löschen. Also ein
Allerweltsproblem...
Schliessen möchte ich mit einem Zitat von Wilhelm Busch:
Wenn einer, der mit Mühe kaum
Gekrochen ist auf einen Baum,
Schon meint, daß er ein Vogel wär,
So irrt sich der.“
Schönen Abend,
Thomas
PS: Die erste Seite im "Forum: FPGA, VHDL & Co." umfasst bei mir 51
Threads. Im Moment sind 14 davon (das sind 27%!) von "peter" geöffnet
worden. Wäre es nicht sinnvoll für ihn ein eigenes Unterforum zu
eröffnen, damit man nicht so oft über seine Fragen stolpern muss?
Thomas T. schrieb:> 8bit-CPU 6809: X- und Y-Register sind 16 Bit breit.> 8bit-CPU Z80: HL-, IX- und IY-Register sind 16 Bit breit.
Aber die beiden Akkus des 6809 und der Akku des Z80 sind nur
8bit breit. Also keine Widerlegung meiner Aussage "ist klar".
> Warum nennst Du dein Doppelregister AB denn K?
Damit man bei den Mnemonics nicht soviel schreiben muss.
> Eine kurze Verzögerungsschleife in 6502-Assembler:>> LDX #$FF ;LoaD X mit $FF (255 dezimal)> Loop: DEX ;DEkrementiere X> BNE Loop ;Branch if Not Equal to zero
Die Dauer des BNE falls gesprungen wird hängt davon ab, ob das
BNE und das Sprungziel im selben 256Byte-Bereich liegen. Die
Dauer der Schleife ist also bei Code-verschiebung nicht fix.
Das ist Mist. So etwas gibt es bei meiner CPU nicht.
Beitrag "Re: 8bit-Computing mit FPGA"
Bei meiner CPU:
GTA ff 2 Zyklen
LOOP DC.K 1 Zyklus
B.KS LOOP 3 Zyklen / letzter Durchlauf 2 Zyklen
Dauer: 2 + 255*(1+3)-1 Zyklen
> Zeige doch mal ein praktisches Beispiel mit Deiner CPU!> Zum Beispiel eine Schleife, um den Bildschirm zu löschen.
Löschen von Seite E des Text-RAM: Bereich a000..bfff
in Memory-Page 1. Das Schatten-Pageregister für Y
zeigt standardmäßig auf diese Memory-Page (das ist
keine Eigenschaft der CPU, sondern des Gesamtsystems)
GTA a0 Lade AB mit 00a0
EX.B Tausch A <> B
ST.Y Speichere AB in Y
SW.Y Memory-Page-Umschaltung für Y
GTA ff Lade AB mit 00ff
AD. 1f Addiere 1f zu A
ST.S Speichere AB in S
ZO.A Setze A <= 00 (bei mir ist 00 das Leerzeichen)
S.RP Setze Schleifenstartadresse
STMY Speichere A in (Y)
R.IY Falls S > 0000 : S <= S-1, Y <= Y+1 , repeat
SW.Y Memory-Page-Wiederherstellung für Y
Josef G. schrieb:> GTA a0 Lade AB mit 00a0> EX.B Tausch A <> B> ST.Y Speichere AB in Y> SW.Y Memory-Page-Umschaltung für Y> GTA ff Lade AB mit 00ff> AD. 1f Addiere 1f zu A> ST.S Speichere AB in S> ZO.A Setze A <= 00 (bei mir ist 00 das Leerzeichen)> S.RP Setze Schleifenstartadresse> STMY Speichere A in (Y)> R.IY Falls S > 0000 : S <= S-1, Y <= Y+1 , repeat> SW.Y Memory-Page-Wiederherstellung für Y
UM GOTTES WILLEN! Wem soll dieses kryptische unlogische Kauderwelsch
bloß Spaß machen? ... fragt ein entsetzter Assemblerfan
Michael schrieb:>> SW.Y Memory-Page-Wiederherstellung für Y> ist ja noch schlimmer als der allererste PIC-Assembler
Da werden ganze 64KByte-Seiten umgeschaltet,
das ist etwas anderes als bei PIC.
@ Josef G. (bome) Benutzerseite
>> kryptische unlogische Kauderwelsch>Bitte um nähere Begründung.
Du bist ein Autist. Kein Vorwurf, reine Feststellung.
Beitrag "Re: 8bit-Computing mit FPGA"
Du kannst nicht vernünftig kommunizieren, sprichst in kryptischen
Abkürzungen, die ausser dir KEINER versteht!
Auch Assemblerbefehle sollte ansatzweise an einer "menschlichen"
Sprache, oft Englisch, angelehnt sein.
Load a, 0xAB
ist 100 mal Verdaulicher und verständlicher, als beispeilsweise
xf k, ab
So in etwa sind deine Befehle kodiert bzw. abgekürzt. GRAUSAM!
Falk Brunner schrieb:> Auch Assemblerbefehle sollte ansatzweise an einer "menschlichen"> Sprache, oft Englisch, angelehnt sein.>> Load a, 0xAB>> ist 100 mal Verdaulicher und verständlicher, als beispeilsweise>> xf k, ab
Load a, 0xAB würde bei mir heissen
GT. ab
GT steht für "get".
ab sind die von mir eingeführten Hex-Ziffern.
Ein Präfix braucht man nicht.
Falk Brunner schrieb:> xf k, ab
Eine solche Operation gibt es bei mir nicht.
PS: Sorry, eigentlich eine überflüssige Aussage, aber man
weiss ja nie, am Ende liest einer nur das aber nicht
meine Beiträge und glaubt es auch noch.
Josef G. schrieb:> GTA ff Lade AB mit 00ff> AD. 1f Addiere 1f zu A
GTA steht für "get absolute". In Kombination mit AD. wie hier
kann man damit eine absolute Adresse laden, um sie anschließend
in ein Adressregister zu übertragen oder mittels J.. zu dieser
Adresse zu springen.
Daneben gibt es auch GTR. Das steht für "get relative".
GTR nn lädt P+nn+3 nach AB. Damit kann man eine relative Adresse
im Nahbereich des Programmzählers laden. In Kombination mit AD.
entfällt die Beschränkung auf den Nahbereich.
Für
GTA 34
AD. 72
gibt es das Assembler-Makro
/GTA 7234
Entsprechend für GTR.
Der auf der Grundlinie liegende Bindestrich zB. in AD.
(hier repräsentiert durch den Punkt) hat keine andere
Funktion, als den Namen auf 3 Zeichen zu verlängern.
Josef G. schrieb:> Falk Brunner schrieb:>> Auch Assemblerbefehle sollte ansatzweise an einer "menschlichen">> Sprache, oft Englisch, angelehnt sein.>>>> Load a, 0xAB>>>> ist 100 mal Verdaulicher und verständlicher, als beispeilsweise>>>> xf k, ab>> Load a, 0xAB würde bei mir heissen>> GT. ab>> GT steht für "get".>> ab sind die von mir eingeführten Hex-Ziffern.> Ein Präfix braucht man nicht.
ja warum denn das?
Wieso machst Du für
Loead a, 0xAB nicht einfach
LD für Load?
Das wäre ja noch sinnvoller als ais "Load" ein "Get" zu machen?
Bei Verzweigungen mit 8bit-Distanz wird zwischen
Vorwärts- und Rückwärts-Sprüngen unterschieden.
B.xx sind Rückwärts-Sprünge ("back")
O.xx sind Vorwärts-Sprünge ("omit").
Josef G. schrieb:> S.RP Setze Schleifenstartadresse> STMY Speichere A in (Y)> R.IY Falls S > 0000 : S <= S-1, Y <= Y+1 , repeat
Für schnelle Schleifen gibt es die Schleifenstartadresse R.
S.RP
operation1
operation2
operation3
R.xx
S.RP ("start of repeat") setzt R auf operation1.
Die Operation R.xx ("repeat") springt zurück nach R.
In C-Terminologie handelt es sich hier um eine do-while-
Schleife. Es sind aber auch while-Schleifen möglich.
Dazu verwendet man O.RP statt S.RP.
O.RP MARKE
operation1
operation2
operation3
MARKE operation4
operation5
R.xx
O.RP MARKE setzt R auf operation1 und springt zu MARKE.
operation1/2/3 sind das Innere der while-Schleife,
operation4/5 bilden zusammen mit R.xx den
Entscheidungs- und Wiederhol-Ablauf.
Anmerkung (hat nichts mit der CPU zu tun):
In der im ROM eingebauten Hochsprache des Gesamtsystems
wird nach gleichem Muster die "Schleife mit Hineinsprung"
zur Realisierung von while-Schleifen verwendet.
pork schrieb:> Ich fände es praktischer
Nach meinen Erfahrungen mit Verzweigungen im Bereich -128..+127
ist dieser Bereich sehr knapp bemessen. Mit 256 Byte in jede
Richtung sieht das schon wesentlich besser aus.
gustl schrieb:> Josef G. schrieb:>> Der Programmierer muss dann halt nicht darauf achten, welcher>> Operand zuerst im Akku stehen muss, das erleichtert ihm die Arbeit.>> Akku? Ach herje. Das ist zwar ein interessantes Konzept, war aber früher> eher dadurch etabliert, dass man mit der geringen Anzahl an verfügbaren> Transistoren noch kein richtiges Registerfile bauen konnte. Seit Ende> der 70er Jahre besteht dazu keine Notwendigkeit mehr. Außer zu evtl.> Forth ist eine Akkumulatorarchitektur auch zu keine Hochsprache> kompatibel.
Vergleiche hierzu:
Beitrag "Re: Motorola 68HC11"> Die Akkumaschinen sind (im Gegensatz zu manch Behauptung) noch nicht> tot. Ua haben Freescale, ST(bsp STM8, sehr schnell, 8bit), Fujitsu,> (auch M16C wäre möglich) noch welche im Programm.> In vielen Fällen sind die sogar schneller als RISC, weil nicht so> viele LDs/STs nötig sind. (Und ContextSwitch ist auch schneller)
Die Schreibweise für bedingte Anweisung und Verzweigung
in der im ROM eingebauten Compilersprache wurde geändert
und entspricht jetzt dem üblichen if und if-else.
Josef G. schrieb:> Kannst du das .... begründen?
Wozu? Aufwand ohne Nutzen, so wie das ganze Projekt.
Josef G. schrieb:> Die Schreibweise für bedingte Anweisung und Verzweigung> in der im ROM eingebauten Compilersprache wurde geändert> und entspricht jetzt dem üblichen if und if-else.
Das interessiert jetzt ... WEN ???
Josef G. schrieb:> In der im ROM eingebauten Hochsprache des Gesamtsystems> wird nach gleichem Muster die "Schleife mit Hineinsprung"> zur Realisierung von while-Schleifen verwendet.
*L.JP / springt zu *HERE
oper1
oper2
*HERE
oper3
oper4 / weist VAR einen Wert zu
*RP.Z VAR / springt zu oper1 falls VAR = zero
In C würde man hier eine function definieren, welche
oper3/4 ausführt und den Rückgabewert VAR erhält.
Und man würde eine while-Schleife verwenden, welche
oper1/2 ausführt, solange die function Null liefert.
Die Schleife mit Hineinsprung erfüllt den gleichen
Zweck auf einfachere Weise. Die Hochsprache braucht dann
auch nicht das Konstrukt einer function mit Rückgabewert,
sondern es reichen einfache Unterprogramme, bei welchen
alle Übergabe-Parameter gleichberechtigt sind.
Josef G. schrieb:> In C würde man hier eine function definieren, welche> oper3/4 ausführt und den Rückgabewert VAR erhält.
Da kein C-Compiler für Deine CPU existiert, ist Deine Abhandlung hier
rein akademisch.
oper3/4 oder oper1/2... sagt mir überhaupt nichts. Solange Deine
Mnemonics nicht wenigstens etwas selbsterklärend sind, damit man etwas
damit verbinden kann, kommt damit keiner auf einen grünen Zweig. Du
könntest auch chinesisch schreiben.
Frank M. schrieb:> oper3/4 oder oper1/2... sagt mir überhaupt nichts.
Das sind keine Mnemonics. oper1 usw. habe ich hier
geschrieben als Platzhalter für irgendwelche Operationen.
Frank M. schrieb:> Da kein C-Compiler für Deine CPU existiert, ist Deine Abhandlung hier> rein akademisch.
Meine Aussage war, dass die von mir kreierte Hochsprache in wenigstens
einem Punkt, nämlich der Schleife mit Hineinsprung, besser ist als C.
Und das ist unabhängig davon, ob für die CPU ein C-Compiler existiert.
Josef G. schrieb:> *L.JP / springt zu *HERE> oper1> oper2> *HERE> oper3> oper4 / weist VAR einen Wert zu> *RP.Z VAR / springt zu oper1 falls VAR = zero>> In C würde man hier eine function definieren, welche> oper3/4 ausführt und den Rückgabewert VAR erhält.> Und man würde eine while-Schleife verwenden, welche> oper1/2 ausführt, solange die function Null liefert.>> Die Schleife mit Hineinsprung erfüllt den gleichen> Zweck auf einfachere Weise. Die Hochsprache braucht dann> auch nicht das Konstrukt einer function mit Rückgabewert,
Wenn Du diese Assemblersyntax schon als Hochsprache bezeichnest,
wie sieht bei Dir dann eine maschinennahe Sprache aus? Bits?
Sind Deine Bits eigentlich trinär oder quaternär?
> sondern es reichen einfache Unterprogramme, bei welchen> alle Übergabe-Parameter gleichberechtigt sind.
Oder aber auch in C:
1
for(VAR=0;!VAR;oper1,oper2)
2
{
3
oper3;
4
oper4;
5
}
oder umordnen:
1
for(;;)
2
{
3
oper3;
4
oper4;
5
if(VAR)
6
break;
7
oper1;
8
oper2;
9
}
oder identisch zu Deinem Kram mit goto ...
Ich weiß, es ist müßig, Dir daß zu erzählen, aber da Du so nett gefragt
hast ...
Viele Grüße
8Bit und n Korn schrieb:> for (VAR = 0; !VAR; oper1, oper2)> {> oper3;> oper4;> }
Ist das überhaupt dasselbe wie bei mir?
Ich meine, die for-Schleife macht das:
VAR = 0
Test !VAR ==> Abbruch
oper3
oper4
oper1
oper2
Test !VAR ==> Abbruch
oper3
...
Das ist etwas anderes als bei mir:
oper3
oper4
Test !VAR ==> Abbruch
oper1
oper2
oper3
oper4
Test !VAR ==> Abbruch
oper1
...
Josef G. schrieb:> dasselbe wie bei mirJosef G. schrieb:> etwas anderes als bei mir
Wen interessiert das?
Jeder mit ein paar mehr Latten am Zaun hätte diesen Katastrophentread
längst dichtgemacht!
Josef G. schrieb:> Bei meiner Lösung> sieht man halt unmittelbar, was ausgeführt wird.
Nee. Das ist ja das Problem: Bei deiner Lösung sieht niemand außer dir
irgendwas unmittelbar. Dein ganzes Projekt ist für den Rest der Welt
völlig sinnfrei.
Ach... so ganz sinnfrei ist das Projekt nun auch wieder nicht.
Ist doch ein geiler Thread - So als unterhaltende Entspannung
zwischendurch oder wenn man sich eh nicht mehr konzentrieren kann.
Und als Studentenübung für Kryptoanalytiker ist die Doku durchaus
geeignet.
Josef G. schrieb:> 8Bit und n Korn schrieb:>> for (VAR = 0; !VAR; oper1, oper2)>> {>> oper3;>> oper4;>> }>> Ist das überhaupt dasselbe wie bei mir?
Hubsdi, da hast Du natürlich völlig recht.
Ich bessere nach:
1
for(oper3,oper4;!VAR;oper3,oper4)
2
{
3
oper1;
4
oper2;
5
}
Allerdings auch nicht wirklich schön ...
ich präferiere die while Version.
Hast Du eigentlich schon einen TCP/IP Stack für Deine CPU?
Viele Grüße und Prost
Josef G. schrieb:> Zur Schleife mit Hineinsprung und anderen Aspekten der Hochsprache:> Beitrag "Gibt es eine Programmiersprache mit diesem Schleifentyp?"
Das wollte gar keiner wissen.
Josef G. schrieb:> wird vielleicht auch einer eine ernsthafte> Anwendung dafür finden. Ich selber weiß derzeit keine.
Die wär viel eher interessant.
Diese Äußerung stammt noch vom Juni 2013.
Ich nehme an, der Erfinder hat nun wenigstens selbst eine ernsthafte
Anwendung !!!???
Angeregt durch diesen Thread
Beitrag "Conways Game of Live zu langsam auf Z80"
habe ich Conway's Game of Life für meinen Rechner programmiert.
Das Spielfeld hat Torus-Topologie und 128*128 Zellen.
Jede Iteration dauert 1 Sekunde. Das Startbild kann ausgewählt
werden, die bisher zur Verfügung stehenden Startbilder sind noch
vorläufig. Als Entwicklungs-Regel gibt es bisher nur die bekannte
Standard-Regel. Die Auswertung der Regel erfolgt mittels einer
Tabelle, für andere Regeln wäre nur diese Tabelle zu ändern.
Siehe Seite Hawa meiner Website.
Hier noch der Wikipedia-Artikel zum Thema:
http://de.wikipedia.org/wiki/Conways_Spiel_des_Lebens
peter schrieb:> Hast du das mit deiner Sprache
Nein. Das Programm ist unmittelbar in Maschinencode geschrieben
und Teil der Software der Test-Steckkarte in Steckplatz 1.
Josef G. schrieb:> Das Programm ist unmittelbar in Maschinencode geschrieben> Jede Iteration dauert 1 Sekunde.
Hast du das absichtlich so lansam gemacht?
Selbst auf dem guten alten PET2001 lief das wesentlich schneller.
X. schrieb:> Hast du das absichtlich so lansam gemacht?
Nein, geht nicht schneller.
> Selbst auf dem guten alten PET2001 lief das wesentlich schneller.
Wieviele Zellen hatte das Spielfeld?
Christian J. schrieb:> Hast du mal einen Quelltext?
Den Assembler-Quelltext habe ich leider nur handgeschrieben
auf Papier. Der Code macht Gebrauch davon, wie die Pixel des
Bildschirms ins RAM gemapped sind, und wird deshalb
für eine andere Hardware kaum von Interesse sein.
Habe das Emulations-Programm für Linux-PC geändert. Es kann
nun auch einen Teil der Software der Datei teca ausführen.
Man kann Conway's Game of Life auf einem Linux-PC testen.
Falls jemand daran denkt, das Programm auszuprobieren:
Es muss damit gerechnet werden, dass während der Iteration
die Anzeige flackert, jedenfalls ist das an meinem PC so.
Auf der Seite Emul meiner Website wird das Emulationsprogramm
beschrieben. Nach dem Starten des Emulationsprogramms startet
man Game of Life mit 1.CGL (zur Eingabe des Zeichens 1 die
Tasten 6 1 drücken). Nach Auswahl des Startbildes (0..7) und
der Entwicklungs-Regel (bisher nur 0 verfügbar) startet die
Iteration. Anders als am FPGA-Board ist das Gedrückt-Halten
der Leertaste erforderlich. Die Iteration stoppt nach dem
Loslassen der Taste, wenn alle aufgelaufenen Leerzeichen
abgearbeitet sind. Das Drücken einer beliebigen anderen
Taste beendet das Programm.
Die 8 Startbilder liegen in der Datei teca ab Adresse 0x4000.
Jedes Bild belegt 2 KByte. Wer andere Startbilder testen
möchte, kann sie in die Datei teca kopieren. Das Bitmapping
würde ich hier mitteilen, falls Interesse besteht.
Josef G. schrieb:> PS: Bei Bild 5 interessantes Detail
Sorry, falsche Aussage. Offenbar habe ich das Startbild
versehentlich überschrieben, ich finde es nicht mehr.
Josef G. schrieb:> Es muss damit gerechnet werden, dass während der Iteration> die Anzeige flackert, jedenfalls ist das an meinem PC so.
Das gilt natürlich nur für die Emulation am PC.
Am realen System flackert nichts.
X. schrieb:>> Jede Iteration dauert 1 Sekunde.> Hast du das absichtlich so lansam gemacht?
Inzwischen habe ich eine Lösung mit nur 0.75 Sekunden.
Habe ich aber noch nicht auf der Website. Ich bin noch
am Nachdenken über Änderungen der Startbild-Auswahl.
Der Neue schrieb:> Ich sehe im Bild diesen Pollin TV Decoder.
Hab ich nicht, kenn ich nicht. Muss ein Irrtum sein.
Josef G. schrieb:> Inzwischen habe ich eine Lösung mit nur 0.75 Sekunden.> Habe ich aber noch nicht auf der Website.
Ist jetzt auf meiner Website verfügbar (Datei teca).
Ausserdem gibt es eine neue Version des Emulationsprogramms
mit verbesserter Eingabemöglichkeit für Ziffernfolgen.
Josef G. schrieb:> Ist jetzt auf meiner Website verfügbar (Datei teca).> Ausserdem gibt es eine neue Version des Emulationsprogramms> mit verbesserter Eingabemöglichkeit für Ziffernfolgen.Falk Brunner schrieb:> Das ist ja eine FUNDAMENTALE Neuerung, die dem Projekt sicher zum> Durchbruch verhelfen wird . . . !!!
Furchtbar aufregende Neuerungen ohne Ende, nur der Nutzen bleibt stur
bei Null,Nichts. Tipp: Mal ein anderes Projekt versuchen.
Marius schrieb:> der Erfinder hat nun wenigstens selbst eine ernsthafte> Anwendung:Josef G. schrieb:> habe ich Conway's Game of Life für meinen Rechner programmiert
Da sage noch einer es gäbe keine ernsthafte Anwendung :-)))
Bei Startbild 0..3 hat jetzt das Spielfeld nur noch 64*64 Zellen.
Jede Iteration dauert nur noch 0.27 Sekunden. Bei Startbild 4..7
gilt wie bisher 128*128 Zellen / 0.75 Sekunden.
Peter schrieb im Beitrag #3959749:
> Bei mir braucht das FPGA Board ungefähr 0,35 ns pro Berechnung
Wie hast du das gemessen? Ich habe es so gemacht:
60 Sekunden laufenlassen und aus dem Zählerstand die Anzahl
der Iterationen ablesen. 60 Sekunden durch diese Zahl dividieren.
> Reicht das für genügend Iterationen bevor das Bild ruckelt?
Die Frage verstehe ich nicht.
Der Video-Generator liest die aktive Seite des Video-RAM aus.
Die CPU erzeugt das nächste Bild in der inaktiven Seite des
Video-RAM. Wenn das Bild fertig ist, schaltet die CPU die
Video-Ausgabe um. Die vorher inaktive Seite wird jetzt zur
aktiven Seite. Der Video-Generator übernimmt diese Umschaltung
verzögert während der Austast-Lücke zwischen zwei Bildern.
Die CPU beginnt mit dem Aufbau des nächsten Bildes in der jetzt
inaktiv gewordenen Seite des Video-RAM erst eine Sechzigstel
Sekunde, nachdem sie die Video-Ausgabe umgeschaltet hat.
Spätestens ab diesem Zeitpunkt liest der Video-Generator
nicht mehr aus der inaktiv gewordenen Seite.
Hier ist ein ziemlich interessanter Artikel von 1982 über die "Erfindung
des Diamanten" durch das De Beers-Kartell:
http://www.theatlantic.com/magazine/archive/1982/02/have-you-ever-tried-to-sell-a-diamond/304575/
Es ist schon ziemlich unglaublich, wie sich Märkte durch Werbung
manipulieren und "schaffen" lassen. In den Köpfen der meisten Menschen
von Heute ist das ja eher eine neue Entwicklung, aber De Beers hat es in
der 1930ern schon sehr effektiv praktiziert.
Abgesehen davon möchte ich anmerken, dass es generell ziemlich schwierig
ist, Zeiten von weniger als 1 ns auf einem FPGA zu messen. Ohne weitere
Tricks, würde man dafür Taktfrequenzen von über einem GHz benötigen. Das
erscheint auf einem Spartan 3 doch sehr unwahrscheinlich.
Es ist also davon auszugehen, dass Peter (Gast), uns hier einen Bären
aufbinden will.
Eine andere Frage ist natürlich, welche Geschwindigkeit man von einem
Game-Of-Life zellulären Automaten erwarten würde.
Josef G. erwähnt, dass seine Implementierung für ein 64x64 Feld mit 4096
Elementen 0.27s (270 000 µs) Sekunden für die Berechnung benötigt.
Das sind 270 000 / 4096 = 65.9 µs pro Element.
Für die Bewertung der Programmeffizienz wäre die Anzahl der benötigten
Taktzyklen pro Element die ausschlaggebende größe. Leider kenne ich die
Taktfrequenz des Bomerenzcomputers nicht. Dem Ansatz, diese Information
aus der Dokumentation zu entnehmen, stehen in diesem Thread schon
häufiger dargestellte Hürden gegenüber. Aus diesem Grund will ich zur
Vereinfachung einmal annehmen, dass der Prozessor ca. 1 MIPS erreicht.
Auf Basis dieser Annahme kommt man zu dem Schluss, das die Berechnung
eines Elements in der Implementation von Josef G. ca 65 Befehle
benötigt.
Wie viele Befehle benötigt eine Idealisierte Implementierung? Der Regeln
des Zellulären Automatens lassen sich Wikipedia entnehmen:
https://de.wikipedia.org/wiki/Conways_Spiel_des_Lebens
Auf den ersten Blick lässt sich dieses durch einen population Count der
acht benachbarten Zellen und zwei Vergleiche erledigen.
Je nach Art der verfügbaren Adressmodes des Prozessors sind dieses
zwischen 8 und 24 Befehle. Die zwei Vergleiche benötigen 4-6 weitere
Befehle. Zum Darstellen des Ergebnisses und Schleifenzähler würde ich
Pauschal 10 weitere Befehle annehmen.
Damit komme ich auf 22-40 Befehle. Dieses lässt also annehmen, dass sich
gegenüber einer Implementation mit 65 Befehlen noch einiges Optimieren
lässt.
Hier übrigens eine Seite mit GOL Implementation in vielen
unterschiedlichen Sprachen:
http://rosettacode.org/wiki/Conway%27s_Game_of_Life
Man scheint sich Mühe gegeben zu haben, die Varianten möglichst
ineffizient und schwer verständlich darzustellen. Wie z.B. an der
C-Implementiert ersichtlich.
Zelluläre Automaten sind etwas tolles. Wer erinnert sich nicht an
Stephen Wolframs Buch "A New Kind of Science" vor 10 Jahren? Im Vorfeld
wurde erzählt, er könne an Hand bestimmer zellulärer Automaten die
Enstehung intelligenten Lebens nachweisen. Wie wir jetzt wissen, ist ihm
dieses aber nicht gelungen. Stephen Wolfram ist übrigens der
Entwickler/Erfinder der Mathematiksoftware "Mathematika" und hat mit 20
Jahren am Caltech promoviert.
Eine interessante, neuere, Entwicklung im Bereich der Automaten ist
Microns Automata-Prozessor.
http://www.micron.com/~/media/documents/products/other-documents/automata_processing_technical_paper.pdf?la=en
Hierbei handelt es sich aber wiederum um etwas völlig Anderes. Micron
hat einen Prozessor entwickelt, der nichtdeterministische finite
Automaten evaluieren kann. Hiermit lassen sich z.B. sehr komplexe
Pattern matching Probleme lösen.
Spannend ist dieses, weil es sich eigentlich um ein sehr akademisches
Konzept handelt, dass jetzt tatsächlich von einer Firma mit den
entsprechenden Mitteln zur Umsetzung gebracht wird. Natürlich ist dieses
auch den Aufgabenstellung der aktuellen Zeit geschuldet. Denn gerade für
Anwendungen im Bereich der Homeland Security ist es notwendig, Muster in
sehr großen Datenmengen zu erkennen.
Sollte Micron am Aufbau des neuen NSA Datacenter beteiligt sein?
http://www.forbes.com/sites/kashmirhill/2013/10/07/the-nsas-hugely-expensive-utah-data-center-has-major-electrical-problems-and-basically-isnt-working/
Man könnte es sich vorstellen, denn Micron hat eine große
Fertigungsstätte in Lehi, in der diese Prozessoren gefertigt werden
können.
FPGAs sind übrigens auch interessant. Allerdings sind Soft-Cores
inzwischen ein relativ alter Hut. Zu frühen Implementierungen kann man
in Jan Gray Blog Viel nachlesen.
Trillian ist ein Cybernaut schrieb:> Leider kenne ich die Taktfrequenz ... nicht.Josef G. schrieb:> habe ich die Dauer eines Halbzyklus ... auf 320ns verkürzt.> CPU-Befehle dauern 2 oder 4 oder 6 Halbzyklen.
Ist richtig, dass die Information auf meiner Website nicht leicht
zu finden ist. Die Dauer 320ns für einen Halbzyklus steht auf der
Seite Hawa, und man muss erst auf der Seite CPU-doku nachschauen,
was das bedeutet. Vielleicht sollte ich da was ändern.
Sehe ich genauso wie Holm.
Klasse Projekt. Gute Doku.
Wichtig ist aber auch, 2x mal die Woche ein Zeichen im Wikiartikel zu
ändern, oder hier etwas zu posten (wie ich es gerade mache), damit der
Thread gepusht wird. Wir verfolgen das alle mit Spannung.
Josef G. schrieb:> Trillian ist ein Cybernaut schrieb:>> Leider kenne ich die Taktfrequenz ... nicht.>> Josef G. schrieb:>> habe ich die Dauer eines Halbzyklus ... auf 320ns verkürzt.>> CPU-Befehle dauern 2 oder 4 oder 6 Halbzyklen.>> Ist richtig, dass die Information auf meiner Website nicht leicht> zu finden ist. Die Dauer 320ns für einen Halbzyklus steht auf der> Seite Hawa, und man muss erst auf der Seite CPU-doku nachschauen,> was das bedeutet. Vielleicht sollte ich da was ändern.
Das ist alles, was Dir auf meinen konstruktiven und gut recherchierten
Beitrag einfällt? Ich bin enttäuscht!
640ns pro Taktzyklus ist aber nicht sehr schnell. Da muss sich ein 6502
nicht verstecken.
Trillian ist ein Cybernaut schrieb:> Das ist alles, was Dir auf meinen ... Beitrag einfällt?
Der Beitrag hat mich durchaus beeindruckt.
Josef G. schrieb:> Ist richtig, dass die Information auf meiner Website nicht> leicht zu finden ist... Vielleicht sollte ich da was ändern.
Die Information zur Taktfrequenz der CPU ist jetzt hervorgehoben.
-----------------------------------------------------------------
Wegen der Torus-Topologie des Spielfeldes beim Game of Life sind
manchmal interessante Muster schlecht zu erkennen, weil sie auf
gegenüberliegende Ränder verteilt sind. Deshalb habe ich jetzt
eine Möglichkeit zum vertikalen und horizontalen Scrollen des
Bildes mittels Cursortasten programmiert. Siehe Seite Hawa.
Zur geänderten Bedienung bei Verwendung des
Emulationsprogramms am PC siehe Seite Emul.
Josef G. schrieb:> peter schrieb:>> Hast du das mit deiner Sprache>> Nein. Das Programm ist unmittelbar in Maschinencode geschrieben> und Teil der Software der Test-Steckkarte in Steckplatz 1.
Wieso nicht?
Das wär doch mal eine Gelegenheit gewesen, die Benutzbarkeit deiner
Sprache (den größten Kritikpunkt deiner Gegner hier) zu demonstrieren.
Stattdessen giest du das ganze wieder in die Firmware.
Masl schrieb:> den größten Kritikpunkt deiner Gegner hier
Wenn das schon der größhte Kritikpunkt wär dann wär das ganze Projekt
bereits als Erfolg zu werten.
Masl schrieb:> Das wär doch mal eine Gelegenheit gewesen, die Benutzbarkeit deiner> Sprache (den größten Kritikpunkt deiner Gegner hier) zu demonstrieren.> Stattdessen giest du das ganze wieder in die Firmware.
Eben.
So wie ich das sehe gibt es keine richtige Beispielapplikation, die in
deiner Sprache verfasst wurde.
Wenn sogar der Erfinder der Sprache es einfacher findet, Assembler aufn
Papier zu schreiben und direkt Maschinencode einzuhacken, dann spricht
das nicht unbedingt für die Sprache.
Oder welchen Grund hatte diese Entscheidung?
part1.png und part2.png zeigen den per 1.DEMO abrufbaren Quelltext
des Beispiel-Programms, darunter steht nochmal der Text im Ganzen.
run.png zeigt den Ablauf beim Compilieren und Testen.
Kondensator-Paul schrieb:> direkt Maschinencode einzuhacken, dann spricht das nicht unbedingt> für die Sprache. Oder welchen Grund hatte diese Entscheidung?
Die Sprache ist nicht dafür gemacht, Assembler-Programmierung
oder direkte Hexcode-Programmierung zu ersetzen. Der vom
Compiler erzeugte Code ist kein Maschinencode.
An der Stelle von zB. 1INPUTN /d1 AA. steht im Compilat die Nummer
der Steckkarte, die Nummer des Kommandos INPUTN auf der Steckkarte,
das Format der übergebenen Parameter (1 const-Byte, 1 Variable),
das const-Byte selber und der Zeiger auf die Variable.
Bei Ausführung des Programms durch den Interpreter des Compilats
dauert allein das Aufrufen des Kommandos INPUTN 40 Vollzyklen.
Hinzu kommt die Ausführungszeit des auf der Steckkarte
befindlichen Maschinencodes des Kommandos.
Die Sprache ist dazu konzipiert, solche Steckkarten-Kommandos
aufzurufen. Dazu stellt sie Variablen und Kontrollstrukturen bereit.
Wollte man etwa Game of Life in dieser Spache programmieren, müsste
eine Steckkarte Kommandos wie zB. Setzen von Bildpunkten anbieten.
Und alles wäre furchtbar langsam.
Ausserdem ist die Handhabung von Arrays noch nicht zufriedenstellend
gelöst. Die Test-Steckkarte habe ich ursprünglich nur dazu erstellt,
die Software der Haupt-Platine testen zu können, insbesondere die
Einbindung von Steckkarten durch diese Software der Hauptplatine.
Die Test-Steckkarte ist nicht als endgültige Lösung gedacht.
> So wie ich das sehe gibt es keine richtige Beispielapplikation,
Dazu wäre eine umfangreiche Steckkarten-Sortware erforderlich.
Ich hatte mal gehofft, dass andere Leute Steckkarten-Software
entwickeln und anbieten. Alle dazu erforderlichen Informationen
über Schnittstellen sind auf meiner Website verfügbar.
In der Hochsprache gibt es neue Operationen, welche die
Berechnung von komplexen Sprungbedingungen erleichtern.
Schaut mal auf die Seite SYS-doku meiner Website.
Josef G. schrieb:> In der Hochsprache gibt es neue Operationen, welche die> Berechnung von komplexen Sprungbedingungen erleichtern.> Schaut mal auf die Seite SYS-doku meiner Website.
In der heutigen Zeit ist Konsequenz leider ein seltener Charakterzug,
vor allem bei Politikern und Managern.
Zumindest Josef G. kann man dies aber nicht vorwerfen.
Konsequenz heißt, auch Holzwege zu Ende zu gehen.
Masl schrieb:> Holzwege zu Ende zu gehen
Holzwege, die in erster Linie Spaß machen sind keine Holzwege, sondern
gehören just gerade zum Sinn des Lebens. Bestes Holz ist allenfalls
Josefs Erwartung von der Zweckmäßigkeit und den großen
Einsatzmöglichkeiten seiner Technik-Machbarkeitsstudie für andere.
Hm, interessantes Projekt, bin gerade über den Thread gestolpert. Im
Gegensatz zu all den du-bist-Scheisse-Sagern muss ich doch zugeben, dass
das Ganze ziemlich faszinierend ist, auch wenn ich den praktischen
Nutzen nicht ganz sehe. Aber ich finde es schön, wenn sich jemand so
etwas erschafft und sich tiefgreifend mit einem Thema beschäftigen kann,
und selbstgebaut ist sowieso zehnmal geiler. (Na gut, die Idee mit der
Ablösung des Dezimalsystem durch Hex ist dann vielleicht doch etwas
lustig^^). Aber wie viele Elektronikbasteleien sind 100% nützlich und
bringen die Menschheit weiter? (und sind nicht nur deshalb geil, weil
man sie selbst gebastelt hat?
...
Lass dich nicht aufhalten ;)
Josef G. schrieb:> Realisierungen des Systems gab es bisher auf folgenden Boards:> Spartan-3A Starter, Spartan-3E Starter, Nexys2, Altera DE1>> Es gibt nun auch eine Realisierung auf dem Altera DE0 Board.
Die Konfiguration für das Spartan-3A Starter Kit
funktioniert auch auf dem Spartan-3AN Starter Kit.
Beitrag "Re: xilinx xucks!"Andreas S. schrieb:> Du hast eine eher seltene Tastatur mit Power/Sleep/Wakeup-Tasten> verwendet. Ich konnte ... nirgendwo auftreiben und habe auf> meiner Tastatur keine Power/Sleep/Wakeup-Tasten. Watt nu?
Die Tastatur-Belegung wurde geändert. Die Tasten
Power/Sleep/WakeUp werden nicht mehr verwendet.
Josef G. schrieb:> In dem genannten Thread gibt es neue Beiträge.
Wie schauts mal mit neuen Projekten Deinerseits aus? Wird langsam
langweilig. Mußt Du diesen Thread hier nun schon mit Verweisen auf
andere oben halten ???
Felix schrieb:> Na gut, die Idee mit der Ablösung des Dezimalsystem> durch Hex ist dann vielleicht doch etwas lustig^^
Sorry wg. OT, aber kann's mir nicht verkneifen, da ich
gerade diesen aktuell gesperrten Thread gesehen habe:
Beitrag "Re: Algorithmus Pi-Berechnung">> http://de.wikipedia.org/wiki/Bailey-Borwein-Plouffe-Formel> Ganz nett, hatte ich mal auf nem C64 um π auf 1024 Binärstellen zu> bestimmen. Allerdings bekommt man damit nur die Stellen im 16er-System,> die mühsam ins Dezimalsystem umgerechnet weren müssen.
Josef G. schrieb:> Sorry wg. OT, aber kann's mir nicht verkneifen, da ich> gerade diesen aktuell gesperrten Thread gesehen habe:
Und wieder ein weiterer peinlicher Beitrag um den todgeweihten Thread
hier ein erneutes Mal zu pushen.
Gerade gefunden:
Beitrag "Re: Z80 Einplatinencomputer für Lernzwecke">> Speicherbanking muß nicht zwangsläufig 64 K sein> Das kann es garnicht, man braucht ja einen Speicherbereich, der> in beiden Bänken gültig ist für das gemeinsame Programm - z.B.> das Programm, das zwischen den Bänken umschaltet. Nur so kann> man Unterprogramme in verschiedenen Bänken aufrufen und so> Programme mit mehr als 64k realisieren.
Tja, meine CPU kann das, von einer 64K-Seite in eine
andere springen, ohne gemeinsamen Speicherbereich.
Josef G. schrieb:> Tja, meine CPU kann das, von einer 64K-Seite in eine> andere springen, ohne gemeinsamen Speicherbereich.
Tja, schade, dass Deine CPU überhaupt nicht praxistauglich und damit nur
für den Müll ist.
Josef G. schrieb:> Inwiefern ist sie nicht praxistauglich?> Sehe ich ganz und gar nicht so.
Dann nenne bitte die praxisrelevanten Anwendungen, die für Deine CPU
existieren - und die Werkzeuge für den Programmierer. Welche
Standard-Hochsprachen kann man nutzen?
Josef G. schrieb:> Inwiefern ist sie nicht praxistauglich?
Praxistauglich ist etwas subjektiv. Für dich ist mag sie praxistauglich
sein, aber andere Leute sehen das anders.
Frank M. schrieb:> Welche Standard-Hochsprachen kann man nutzen?
Dieses Thema hatten wir in einem anderen Thread:
Beitrag "Gibt es eine Programmiersprache mit diesem Schleifentyp?"
Auch da gingen die Ansichten deutlich auseinander. Für das, was ihm hoch
erscheint, müssen sich andere ziemlich tief bücken. Und für ihn ist das
bestimmt die Standardsprache seines Rechners.
Josef G. schrieb:> Inwiefern ist sie nicht praxistauglich?> Sehe ich ganz und gar nicht so.
Du schreibst ja deine eigenen Anwendungen nicht mit deiner Sprache.
Vor kurzem hast du doch irgendeine Beispielapplikation vorgestellt. Was
war das noch? Game of Life? Hab jetzt nicht gesucht.
Das Teil ist auf einer deiner Steckkarten implementiert, allerdings in
Maschinencode.
Es wird schon einen Grund haben, wenn der Entwickler lieber rohen
Maschinencode hakt anstatt seine eigene Sprache zu benutzen.
Erklärung kam damals imho keine von dir.
A. K. schrieb:> Und für ihn ist das> bestimmt die Standardsprache seines Rechners.
Das ist mir ja klar. Aber "Standard" sieht anders aus. ;-)
Was soll ich mit einer Programmiersprache, in der man keine Programme
schreiben kann? Mit einer Schleife mit "Hineinsprung" ist es nicht
getan. Ausserdem muss man bei dieser "Programmiersprache" Masochist
sein, um sie sich anzutun - und zwar einer von der harten Sorte.
Solange Josef keine ernstzunehmenden Anwendungen vorweisen kann, ist
sein "Rechner" für die Katz. Also nicht praxistauglich.
@ A. K. (prx)
>Auch da gingen die Ansichten deutlich auseinander. Für das, was ihm hoch>erscheint, müssen sich andere ziemlich tief bücken.
HAHAHA ;-)
YMMD!
Gab's da nicht mal ne Firma HochTief?
Benjamin schrieb:> Vor kurzem hast du doch irgendeine Beispielapplikation vorgestellt. Was> war das noch? Game of Life? Hab jetzt nicht gesucht.
Ja, Game of Life habe ich auch in Erinnerung. Aber soweit ich das noch
im Kopf habe, war die Refresh-Rate pro Generation dermaßen tief im
Keller, dass ein Z80 (mit dem Josef jetzt hier seinen Rechner
vergleicht) wesentlich schneller war.
> Erklärung kam damals imho keine von dir.
Wenn Josef keine Antwort weiß, dann gibt er das nicht zu, sondern
schweigt einfach.
Kopf in den Sand...
Frank M. schrieb:> Aber soweit ich das noch> im Kopf habe, war die Refresh-Rate pro Generation dermaßen tief im> Keller, dass ein Z80 (mit dem Josef jetzt hier seinen Rechner> vergleicht) wesentlich schneller war.
Es ist genau umgekehrt.
Beitrag "Re: 8bit-Computing mit FPGA"
Bei weniger Zellen geht es noch schneller.
Beitrag "Re: 8bit-Computing mit FPGA"Beitrag "Re: 8bit-Computing mit FPGA"Frank M. schrieb:> Dann nenne bitte die praxisrelevanten Anwendungen,> die für Deine CPU existieren
Abgesehen von Conway's Game of Life und dem in der
Hochsprache geschriebenen Demo-Arithmetikprogramm
Beitrag "Re: 8bit-Computing mit FPGA"
gibt es bisher keine. Aber inwiefern
folgt daraus, dass die CPU nichts taugt?
> und die Werkzeuge für den Programmierer.> Welche Standard-Hochsprachen kann man nutzen?
Die CPU ist so gemacht, dass sie sehr leicht
in Assembler zu programmieren ist.
Frank M. schrieb:> Solange Josef keine ernstzunehmenden Anwendungen> vorweisen kann, ist sein "Rechner" für die Katz.
Mag sein. Aber gerade deshalb werbe ich ja hier dafür,
dass Hobbyisten mit dem Rechner experimentieren, damit
vielleicht einer eine ernsthafte Anwendung findet.
... vielleicht findet
der Josef nun nach jahrelangem Mißerfolg endlich seinen Realitätssinn?
Ok, wir leben in einer werbebetonten Zeit.
Aber Werbung allein kann doch keine Zweckmäßigkeit erzwingen!
Ernsthafte Anwendung ausgeschlossen by Design.
Josef G. schrieb:> Es ist genau umgekehrt.> Beitrag "Re: 8bit-Computing mit FPGA"
Unsinn, 1 Sek. für 128x128 ist absolut lachhaft. Das hab ich 1982 mit
dem ZX-Spectrum (Z80 bei 3,5MHz) bei 256x192 in Farbe(!) besser
hinbekommen.
> Bei weniger Zellen geht es noch schneller.
Ist ja logisch. Sonst hast Du nichts zu bieten?
> Abgesehen von Conway's Game of Life und dem in der> Hochsprache geschriebenen Demo-Arithmetikprogramm> Beitrag "Re: 8bit-Computing mit FPGA"> gibt es bisher keine.
Du hast also NICHTS zu bieten.
Conways Game of Life habe ich damals in den 70ern schon auf einem TI-59
Taschenrechner programmiert. Jede Generation wurde dann ausgedruckt,
weil es sonst ausser der 13-stelligen 7-Segment-Anzeige kein anderes
Gerät gab. Das gab ganz lange Papierstreifen...
Deine Sprache, die wie Assembler aussieht, ist auch keine Hochsprache.
Eine Hochsprache kann mehr als nur Assembler. Eine Schleife mit
Hineinsprung macht auch noch lange keine Hochsprache aus.
> Aber inwiefern folgt daraus, dass die CPU nichts taugt?
Wenn sie etwas taugen würde, gäbe es Anwendungen dafür. Entweder von Dir
oder den begeisterten Anhängern - welche es bis heute NICHT gibt. Warum
wohl? Weil Deine CPU nichts taugt. In den 60er Jahren hättest Du
vielleicht jemanden begeistern können. Aber das ist mittlerweile 55
Jahre her! Das war damals STEINZEIT.
Du willst uns wirklich einen Neandertalerknochen als modernstes
Essbesteck verkaufen? Sag mal, merkst Du eigentlich noch was?
> Die CPU ist so gemacht, dass sie sehr leicht> in Assembler zu programmieren ist.
Die Sprache Deines Assemblers ist absolut kryptisch und unverständlich.
Ich kene KEINEN Assembler der kryptischer wäre. Und ich kenne eine Menge
davon. Und Du verkaufst uns das als "sehr leicht ... zu programmieren"?
In welcher Parallel-Welt lebst Du eigentlich?
> Mag sein. Aber gerade deshalb werbe ich ja hier dafür,> dass Hobbyisten mit dem Rechner experimentieren, damit> vielleicht einer eine ernsthafte Anwendung findet.
Ja, schon seit Jahren. Meinst Du, dass plötzliche Hunderte von Leuten
vom Blitz getroffen werden und plötzlich ganz geil auf Deinen Rechner
werden?
Sorry, Josef. Begrabe das Ding. Das braucht kein Mensch. Noch nichtmals
Du.
Frank M. schrieb:> Unsinn, 1 Sek. für 128x128 ist absolut lachhaft. Das hab ich 1982 mit> dem ZX-Spectrum (Z80 bei 3,5MHz) bei 256x192 in Farbe(!) besser> hinbekommen.
Meine Aussage "Es ist genau umgekehrt" bezog sich auf den
Vergleich mit der Lösung in dem von mir verlinkten Thread.
Nach neuestem Stand sind es nur 0.75 Sekunden
Beitrag "Re: 8bit-Computing mit FPGA"
Dabei wird jede der 128*128 Zellen mit 2*2 Pixel dargestellt.
Mit 1 Pixel pro Zelle ginge es vermutlich schneller.
Die Angabe 256*192 bei deiner Lösung: Ist das die Zahl der
Zellen, oder lediglich die Zahl der Pixel, wobei jede Zelle
mehrere Pixel belegt? Wie lange dauert eine Iteration?
Josef G. schrieb:> Nach neuestem Stand sind es nur 0.75 Sekunden
Immer noch zu lahm.
> Die Angabe 256*192 bei deiner Lösung: Ist das die Zahl der> Zellen, oder lediglich die Zahl der Pixel, wobei jede Zelle> mehrere Pixel belegt?
1 Pixel = 1 Zelle.
> Wie lange dauert eine Iteration?
Es muss heissen "dauerte". Das war 1982, meinst Du, ich spiele noch mit
solchen Leichen rum?
Dein "Rechner" hingegen ist 50 Jahre hinter dem aktuellen Stand und ist
ineffizienter als ein Z80 von vor über 30 Jahren. Merkst Du noch irgend
etwas? Hör doch auf, hier 50 Jahre alte Technik anzubieten. Und für wen?
Für Retro-Fans? Die bauen lieber einen Z80 nach, der ist wenigstens alt.
Aber um auf Deine Frage zurückzukommen:
Es war weit weniger als eine halbe Sekunde - bei 3,5MHz. Da bist Du noch
meilenweit entfernt. Mit wieviel MHz läuft denn Dein "Rechner"?
Klasse, wie Du Fragen immer wieder ignorierst und Dir immer das
rauspickst, wo Du (fälschlicherweise) meinst, einfach genialisch zu
sein....
Frank M. schrieb:> Mit wieviel MHz läuft denn Dein "Rechner"?
Ein Vollzyklus dauert 640 ns.
CPU-Befehle dauern 1 oder 2 oder 3 Vollzyklen.
> wie Du Fragen immer wieder ignorierst
Welche sachliche Frage habe ich ignoriert?
Frank M. schrieb:> Das hab ich 1982 mit dem ZX-Spectrum (Z80 bei 3,5MHz)> bei 256x192 in Farbe(!) besser hinbekommen.Frank M. schrieb:> Josef G. schrieb:
...
>> Die Angabe 256*192 bei deiner Lösung: Ist das die Zahl der>> Zellen, oder lediglich die Zahl der Pixel, wobei jede Zelle>> mehrere Pixel belegt?>> 1 Pixel = 1 Zelle.
Aus dem Wikipedia-Artikel zum ZX-Spectrum:
http://de.wikipedia.org/wiki/Sinclair_ZX_Spectrum> Im Gegensatz zum ZX81 übernimmt die ULA sämtliche Aufgaben der> Bilddarstellung, so dass der Prozessor damit nicht belastet wird.
Weiss zwar nicht, was das genau bedeutet, aber vielleicht kann
es die hohe Geschwindigkeit deiner Lösung teilweise erklären.
Weiter heisst es in dem Wikipedia-Artikel:
> Die Grafikauflösung beträgt 256 × 192 Bildpunkte (Pixel).> Für die Farbdarstellung werden jeweils 8 × 8 Pixel in Blöcke> zusammengefasst, so dass effektiv nur ein Farbraster von> 32 × 24 Blöcken zur Verfügung steht.
Das steht im Widerspruch zu deiner Aussage.
Eins von beiden ist falsch.
Frank M. schrieb:> Josef G. schrieb:>> Nach neuestem Stand sind es nur 0.75 Sekunden>> Immer noch zu lahm.>> Es muss heissen "dauerte".> Das war 1982, meinst Du, ich spiele noch mit> solchen Leichen rum?> Dein "Rechner" hingegen ist 50 Jahre hinter dem aktuellen Stand> Merkst Du noch irgend> etwas? Hör doch auf, hier 50 Jahre alte Technik anzubieten. Und für wen?> Für Retro-Fans?
Joseph's Rechner lotet mit Hobbymittel die Architektur von 8bit
Prozessoren aus. Das hat es vor 50 Jahren sicher nicht gegeben.
Ich finde es gut sich unvereingenommen mit Computertechnik zu
beschäftigen. Manche wie beispw. der CCC bezeichnen das als Hacker-ethos
( http://en.wikipedia.org/wiki/Hacker_ethic ):
Teilen was man hat, respektvoll zu Mitstreitern und im positiven Sinne
repektlos vor der Technik.
Liegt vielleicht am mittleren Alter, ich mag Retro, ist supergut
Hardware von der Pike auf zu lernen und zu verstehen:
Retrocomputing auf FPGA
Kann man in der Lehre als Beispiel verwenden. Vielleicht hat ja das auch
Anteil an der Preizuerkennung.
Beleidigende Kommentare wie die da oben gehören sicher nicht zum
Hacker-ethos - also lass das bitte.
MfG,
Josef hat einen eigenen Rechner entworfen. Sehr viel Arbeit
reingesteckt. Er stellt das Konzept hier und auf seiner Webseite allen
zur Verfügung.
Sehr toll, mein Respekt vor der Arbeit und sehr löblich, dass er es
offen legt.
Aber er hat die Dokumentation auf seiner Webseite sehr sehr schlecht
gestaltet. Anstatt vom Groben in's Detail zu gehen wird man sofort mit
Hieroglyphen erschlagen. Mein erster Eindruck war: Man will nicht zeigen
wie es geht, sondern beeindrucken, wie komplex das doch ist.
Dann ging es aber los, dass die Beiträge zum Thema immer wieder
künstlich gepusht werden. Genau wie der Wiki-Artikel. Mir scheint, er
will, dass man jeden Tag über sein Projekt redet. Weil es ja das
wichtigste von allen hier ist.
Und dann fing es an, mich immer mehr zu nerven ....
Softworker schrieb:> Dann ging es aber los, dass die Beiträge zum Thema immer wieder> künstlich gepusht werden. Genau wie der Wiki-Artikel. Mir scheint, er> will, dass man jeden Tag über sein Projekt redet. Weil es ja das> wichtigste von allen hier ist.>> Und dann fing es an, mich immer mehr zu nerven ....
Das ist menschlich aber kein Grund Umgangsformen zu vergessen.
Produktwerbung ist penetrant, Wahlwerbung ist ebenfall penetrant und
geht manchen richtig an die Eier. Nachbars Geprotze mit dem Porsche, der
laptop des Kollegen, Loddars Frauenverschleiß ...
Tägliches Gepushe trifft auch nicht zu, IMHO läuft das projekt seit 4
Jahren und aller paar Monate kommt ein Update. Das ist bei anderen
Hobby-projekten auch nicht anders.
Wer weis das das seinem Puls nicht gut tut soll sich das auch nicht
antun. Das schont die Gesundheit aller Beteiligten.
MfG,
Fpga Kuechle schrieb:> Beleidigende Kommentare wie die da oben gehören sicher nicht zum> Hacker-ethos - also lass das bitte.
Heute hält sich jeder für einen Hacker, der weiß dass man den Lötkolben
nicht vorne anfasst. Du musst nicht glauben, einen irgendwie gearteten
Ethos vertreten zu müssen, also lass das bitte.
Zum Retro-Computing gibt's genügend Projekte, die vernünftig
dokumentiert sind. Insofern ist nicht Retro-Computing an sich zu
kritisieren, sondern die äußerst mangelhaften und kryptischen Sourcen,
welche dem erklärten Ziel des TS, etwas für eine breite Schicht machen
zu wollen, völlig entgegenstehen.
Des TSs Penetranz sein verkorkstes Projekt der ungeneigten Leserschaft
aufzudrängen und seine eigenen Beiträge mit Banalitäten und
weitestgehend sinnfreien Links zu pushen, ist doch das, was ihm negative
Reaktionen beschert.
Würde das Projekt dem Credo seines Schöpfers entsprechen, dann würde es
die Community annehmen und dann entstünde von selbst die vom TS
gewünschte Diskussion. Dass dem nicht so ist und der TS selbst pusht,
zeigt doch was das für 'ne Krücke ist.
Softworker schrieb:> Mir scheint, er will, dass man jeden Tag über sein Projekt redet.
Natürlich, sein Projekt hat ihn immense Anstrengungen und Teile seines
Lebens gekostet, das wurde zu seinem Leben. Der hält mit Zähnen und
Klauen daran fest, egal wie die Wirklichkeit aussieht.
MWS schrieb:> Des TSs Penetranz sein verkorkstes Projekt der ungeneigten Leserschaft> aufzudrängen und seine eigenen Beiträge mit Banalitäten und> weitestgehend sinnfreien Links zu pushen, ist doch das, was ihm negative> Reaktionen beschert.
Nö ich seh hier eher die Lust am Beleidigen und Erniedrigen als Ursache
mancher Kommantare hier.
Auch die Auffassung zu "Penetranz", "Banalität" und "sinnfreien Links"
teile ich mit Bezug auf Joseph's Projekt nicht. Bei "ungeneigten
Leserschaft" neige ich aber stark zu Zustimmung. Was aber das Problem
der Leserschaft ist und nicht Josephs.
MfG,
Fpga Kuechle schrieb:> Was aber das Problem der Leserschaft ist und nicht Josephs
Doch, das ist sein Problem, denn er erzeugt diese Reaktion.
> Nö ich seh hier eher die Lust am Beleidigen und Erniedrigen als Ursache> mancher Kommantare hier.
Irgendwann geht's jedem auf den Zeiger, dann wird der Ton schärfer.
Frank M. schrieb:> Josef G. schrieb:
...
>> Die CPU ist so gemacht, dass sie sehr leicht>> in Assembler zu programmieren ist.>> Die Sprache Deines Assemblers ist absolut kryptisch und unverständlich.> Ich kene KEINEN Assembler der kryptischer wäre. Und ich kenne eine Menge> davon. Und Du verkaufst uns das als "sehr leicht ... zu programmieren"?
Mit "sehr leicht in Assembler zu programmiern" meine ich zB.:
Es gibt keine Flags ausser dem Carry-Flag. Der Programmierer muss
nicht ständig nachschauen, wie welche Flags beeinflusst werden.
Die Adressregister X,Y,Z sind vollständig gleichberechtigt.
Es gibt bei den Daten ausser "immediate" nur eine einzige
Adressierungsart: Ein Adressregister zeigt auf die Speicherstelle.
Auch wenn ich zu 100% sicher bin, dass es sinnlos ist, hier mal zum
Vergleich, wie eine GESCHEITE Darstellung so eines Projekts aussehen
kann, mit der ein normaler Mensch was anfangen kann! Und dort gibt es
soger richtig viele, GUTE Demos!
https://www.mikrocontroller.net/articles/16/32Bit_Computer/Konsole
SO wollen wir das sehen!
Keule schrieb:> Gab ja schon lange nichts Neues mehr. Jetzt ist das sinnlose> Projekt wohl doch eingeschlafen?
Weck mal hier keine schlafenden Hunde!
"Sinn" war ja gerade diesen sinnlosen Thread am Leben zu erhalten.
Kammon schrieb:> Zuverlässig wie ein Hardware-Watchdog hält Josef diesen Thread am Leben.
Und das ist auch gut so.
Gäbe es es hier die Rubrik 'Psychologie' so wäre dieser Thread da
natürlich bestens aufgehoben.
Über Sinn und Unsinn des Projektes und der begleitenden
Grundüberzeugungen zu diskutieren ist natürlich nur insofern nützlich
als das man die Reaktion des Testsubjektes auf äußere Einflussnahme
beobachten kann.
Ich denke das hier passt ganz gut zum Thema:
http://www.spiegel.de/einestages/die-drei-jesusse-von-ypsilanti-a-947782.html
Michael K. schrieb:> so wäre dieser Thread da natürlich bestens aufgehoben.> Über Sinn und Unsinn des Projektes und der begleitenden> Grundüberzeugungen zu diskutieren ist natürlich nur> insofern nützlich
Eine Aussage, welche "natürlich" zutrifft, hat
den Vorteil, dass man sie nicht begründen muss.
Josef G. schrieb:> Eine Aussage, welche "natürlich" zutrifft, hat> den Vorteil, dass man sie nicht begründen muss.
Ja doch Josef, manches kommentierst Du durchaus plausibel.
Nur nicht wieder in die alten Muster a'la "Mein 8-Bit Computing mit FPGA
hat praktischen Nutzwert" zurückfallen ;-)
Michael K. schrieb:> Und das ist auch gut so.> Gäbe es es hier die Rubrik 'Psychologie' so wäre dieser Thread da> natürlich bestens aufgehoben.
Insbesondere auch deshalb, weil die meisten anderen hier weder ähnliches
anzubieten haben noch bereit sind, es auszustellen. Dies hier ist eine
Bastelei, die sicher aus der Reihe tanzt und unter modernen
Gesichtspunkten unnötig ist, aber das sind LED-Cubes, USB-Kaffewärmer
und Drohnenortungsgeräte auch.
T. W. schrieb:> unter modernen> Gesichtspunkten unnötig ist, aber das sind LED-Cubes, USB-Kaffewärmer> und Drohnenortungsgeräte auch
Ob der Josef mit dieser Einordnung einverstanden ist?
Susi schrieb:> T. W. schrieb:> Ob der Josef mit dieser Einordnung einverstanden ist?
Na jedenfalls ist "Susi" mit dem ersten Teil der Einordnung:
T. W. schrieb:> Insbesondere auch deshalb, weil die meisten anderen hier weder ähnliches> anzubieten haben noch bereit sind, es auszustellen.
in der richtige Schublade gelandet.
MfG,
Fpga K. schrieb:> Susi schrieb:>> T. W. schrieb:>> Ob der Josef mit dieser Einordnung einverstanden ist?>> Na jedenfalls ist "Susi" mit dem ersten Teil der Einordnung:>> T. W. schrieb:>> Insbesondere auch deshalb, weil die meisten anderen hier weder ähnliches>> anzubieten haben noch bereit sind, es auszustellen.>> in der richtige Schublade gelandet.>> MfG,
Ob 'äunliches' vielleicht auch wegen erkannter Nutzlosigkeit nicht
angeboten, nicht ausgestellt wird ?
Josef G. schrieb:> Eine Aussage, welche "natürlich" zutrifft, hat> den Vorteil, dass man sie nicht begründen muss.
Okay, dann mit Begründung.
Wie in dem von mir verlinkten Artkel haben wir es hier mit
Glaubensbekundungen von Menschen zu tun die allem Anschein nach garnicht
in der Lage sind ihre Überzeugung zu ändern.
Das hat nichts mit Logig, Vernunft oder Überzeugungskraft zu tun.
Es ist vollkommen unerheblich was da gesagt wird, der Zähler springt
einfach auf Null und die ganze Schei**e geht von vorn los.
Was da in der Summe an Entwicklungsleistung herausgekommen ist, da ziehe
ich den Hut vor Dir Joseph.
Was da aber an Überzeugungen herauskommt was den Nutzen dieses Systemes
im Jahre 2015 angeht und die kurz bevor stehende weltweite Einführung
des Hexadezimalsystemes da spare ich mir jede Diskussion weil ohnehin
niemand diesen Wahn durchbrechen kann.
Du glaubst was Du glauben willst und anscheind macht es Dir Spaß.
Gut so, weiter so, aber trotzdem bleibe ich bei meiner Kernaussage das
die nützlichste Information die man aus diesem Thread noch ziehen kann
die ist welch verschlungene Pfade das Gehirn gehen kann um eine bereits
gefasste Überzeugung nicht mehr revidieren zu müssen.
Mal ehrlich, es ist Dir doch vollkommen Wurst ob die große Mehrheit der
Menschen Augenkrebs bei Deiner Seite bekommt, oder wie gering das
Interesse ist Dein System produktiv einzusetzen oder als wie abwegig die
Idee bewertet wird beim discounter CF,A3 Euro zu bezahlen.
Nichts davon ändert irgend etwas in Dir und das wird meines erachtens
auch so bleiben.
Beispiel wie dieses gibt es viele:
http://www.golem.de/news/templeos-goettlicher-hardcore-1508-115081.html
Deine Verbohrtheit hat Dich weit gebracht mit Deinem System aber da
stehst Du nun in der Sackgasse und das Lob all der anderen bleibst aus
weil Du etwas gebaut hast was ausser Dir niemand gut findet.
Mir ist das egal, auch wenn ich das schade für Dich finde weil da viel
Arbeit und Herzblut drinsteckt.
Du hättest meiner Meinung nach mehr erreicht wenn Du Deine
offensichtliche Intelligenz etwas sozialverträglicher eingesetzt
hättest, aber das ist allein Deine Sache.
Leider wirkt die Webseite als wäre es eine Ansammlung persönlicher
Notizen.
Bestenfalls blickt da der Author durch.
Aber für einen Dritten ist das alles völlig undurchsichtig.
Matthias W. schrieb:> Aber für einen Dritten ist das alles völlig undurchsichtig.
Kannst du mal eine konkrete Stelle nennen, wo etwas unverständlich ist?
Oder besser: Wenn man die Seiten der Reihe nach jeweils von oben nach
unten liest, an welcher Stelle setzt die Verstehbarkeit aus?
Josef G. schrieb:> Kannst du mal eine konkrete Stelle nennen, wo etwas unverständlich ist?
Beispielsweise das Carry-Flag partout V nennen zu müssen. So ziemlich
jeder ausser dir wird darunter Overflow verstehen.
Derart aggressiv Platz im Quellcode zu sparen lohnte sich das letzte Mal
ungefähr zur jener Zeit, in der ich noch Windeln trug. Seither arbeitet
man eher an der Lesbarkeit von Quellcode als an der optischen
Verschlüsselung durch kryptische Formulierungen über 1-2 Buchstaben
statt lesbarer Abkürzungen.
So hat sich auch die noch aus jener Zeit stammende Gewohnheit von IBM,
Additionen einfach nur mit "A" abzukürzen, ausserhalb dieser Sphäre
nicht durchsetzen können. Praktisch jeder sonst schreibt ADD.
Im Zeitalter von Disks mit Terabytes pro Stück und
Cross-Assemblern/Compilern, die Quellcode von Megabyte-Grösse in
Nullkommanix durchpfeifen, ist diese Kryptik nur noch grotesk.
NB: Das schreibt dir jemand, dessen ersten Programmiersprache APL war.
Die wohl kryptischste ernst gemeinte Programmiersprache, die je erfunden
wurde. Nennt man mit Recht eine "write only language", weil man nicht
sicher sein kann, auch nur die eigenen Programme nach ein paar Jahren
wieder zu verstehen, wenn man nicht noch alles im Kopf hat. Von den
Programmen andere Leute ganz zu schweigen.
A. K. schrieb:> Derart aggressiv Platz im Quellcode zu sparen
Es geht nicht um das Einsparen von Speicherplatz,
sondern um das Einsparen von Tipp-Arbeit.
Josef G. schrieb:> Es geht nicht um das Einsparen von Speicherplatz,> sondern um das Einsparen von Tipp-Arbeit.
Was du an Tipparbeit im Programm einsparst, das investierst du doppelt
und dreifach in Form von Kommentaren. Oder solltest du zumindest, was du
aber wahrscheinlich nicht tust.
Der Aufwand bei der Programmierung wird nicht durch die Zeit bestimmt,
die man benötigt um den Quelltext einzutippen. Ausser vielleicht, wenn
du körperlich erheblich behindert bist. Das dürfte sogar auf das
äusserst geschwätzige COBOL zutreffen.
Michael K. schrieb:> Was da aber an Überzeugungen herauskommt was den Nutzen dieses Systemes> im Jahre 2015 angeht und die kurz bevor stehende weltweite Einführung> des Hexadezimalsystemes
Wenn man die heutige Situation bei den PCs betrachtet mit der
vollständigen Entmündigung der Anwender und der Verseuchung mit
Malware: Vielleicht gibt es ja doch eine größer werdende Zahl von
Leuten, zunächst im Hobby-Bereich, welche sich nach Alternativen
umsehen, zB. nach einem Computer, den die Anwender vollständig
durchschauen und selber programmieren, auch in Maschinensprache
oder Assembler, der aber einen größeren Adressraum hat als die
historischen 8bit-Computer. Und dieselben Leute werden vermutlich
auch die Verbreitung des Hexadezimalsystems unterstützen wollen.
Argumente zum Hexadezimalsystem habe ich da zusammengestellt:
http://www.bomerenzprojekt.de/Website/Hexadezimalsystem.html
Ist an diesen Argumenten etwas falsch? Es geht auch nicht um die
"kurz bevorstehende weltweite Einführung des Hexadezimalsystems",
sondern darum, durch Einführung des hexadezimalen Ziffernsatzes
bei Hobby-Computern dessen allmähliche Verbreitung zu fördern.
Josef G. schrieb:> zB. nach einem Computer, den die Anwender vollständig> durchschauen und selber programmieren, auch in Maschinensprache> oder Assembler, der aber einen größeren Adressraum hat als die> historischen 8bit-Computer.
Wenn du damit nicht nur abstraktes Verstehen meinst, sondern auch,
solche Geräte nicht nur spielerisch sondern real zu nutzen, dann ist
diese Zeit vorbei. Ich hatte sie persönlich erlebt (*). Fast alle
Menschen wollen Computer heute einfach nur benutzen. Manche wollen sie
verstehen. Aber ein real nützliches Gerät selber bauen?
Nicht mal Leute, die sich für die konkrete Technik von Autos
interessieren, bauen sich die Dinger inklusive Motor, Getriebe und
Reifen selber. Obwohl es anfangs welche gab, die es taten (weils nix
fertig gab). Fast alle Menschen wollen sich einfach nur reinsetzen und
fahren. Auch da ist die Zeit der Pioniere rum, schon etwas länger.
> Und dieselben Leute werden vermutlich> auch die Verbreitung des Hexadezimalsystems unterstützen wollen.
Während die Amis mit dezimalen Rechnern anfingen nutzte Zuse von Anfang
an binäre Darstellung intern und dezimale Darstellung nach aussen.
Bereits auf einer derart einfachen Maschine war das also kein ernstes
Problem. Case closed, schon damals.
Übers Hex-System können wir mal drüber reden, wenn du es geschafft hast,
die Briten davon zu überzeugen, rechts zu fahren. Oder den Rest der Welt
davon, links zu fahren. Und dabei hat es sehr viel solidere Gründe, sich
da irgendwann mal zu einigen, als Hex/Dez.
*: Einschliesslich der nicht immer einfach zu beantwortenden Frage
"Junge, was kann man damit eigentlich wirklich anfangen?" ;-)
Josef G. schrieb:> Wenn man die heutige Situation bei den PCs betrachtet mit der> vollständigen Entmündigung der Anwender und der Verseuchung mit> Malware:
Da siedelst Du Dein System an ?
Dein System sehe ich eher auf der Leistungsebene 'stark kastrierter
8051' mit extrem schlechter Doku und rudimentärster Software. Bei
derartigen Systemen hatte ich noch nie Probleme mit Malware.
Womit verfasst Du eigentlich Deine Beiträge hier, womit entwickelst Du
Dein System ?
Ich tippe mal auf einen handelsüblichen und 'unmündigen' PC.
Du bist doch nicht mal selber in der Lage Dein System zu etwas anderem
zu verwenden als ein paar Register hin und herzuschieben und sich an
'blinky' Programmen zu erfreuen.
Das ist zu nichts nütze als zum Spielen und das kann ich mit jeder
kleinen MCU für ein paar Cent haben.
Die sind dann aber sauber dokumentiert, haben eine funktionierende
Community, Compiler, IDEs etc. pp.
Eine der Definitionen von Wahnsinn ist, immer wieder das gleiche zu tun
und dabei ein anderes Ergebniss zu erwarten.
Deswegen höre ich jetzt auch auf.
@A. K. (prx)
>Nicht mal Leute, die sich für die konkrete Technik von Autos>interessieren, bauen sich die Dinger inklusive Motor, Getriebe und>Reifen selber.
Du hast echt Ausdauer. Immer noch nicht verstanden, wo das Problem von
Josef liegt? Kleiner Tip.
https://de.wikipedia.org/wiki/Autismushttps://de.wikipedia.org/wiki/ELIZA
Michael K. schrieb:> Du bist doch nicht mal selber in der Lage Dein System zu etwas anderem> zu verwenden als ein paar Register hin und herzuschieben und sich an
Es müsste in der Tat noch einiges an Steckkarten-Software geschrieben
werden. Die von mir erstellte Test-Steckkarte ist nur zur Demonstration
der prinzipiellen Funktionsweise einer Steckkarte gedacht.
Die Software der Hauptplatine ist fertig, inclusive der
Schnittstelle zu Einbindung von Steckkarten-Software.
Zur Entwicklung von Steckkarten-Software ist jedermann eingeladen,
und er kann diese Software in Eigenregie anbieten.
> und das kann ich mit jeder kleinen MCU für ein paar Cent haben.
Die ist aber nicht zu einem richtigen Computer ausbaubar.
So richtig spannend wärs doch, wenn wir noch Kurt Bindl und Moby in
diesen Faden locken könnten.
Ich schätze mal die drei würden richtig gut zusammenpassen ;-)
mitleser schrieb:> So richtig spannend wärs doch, wenn wir noch Kurt Bindl und Moby in> diesen Faden locken könnten.> Ich schätze mal die drei würden richtig gut zusammenpassen ;-)
Moby tät direkt reinpassen. Wobei die dann hoffentlich zur Freude der
Zuschauer erst einmal lang und breit auskaspern, inwieweit Josefs
bevorzugte Hochsprache tatsächlich als solche gelten kann und ob man sie
nicht doch zugunsten von echtem Assembler vermeiden solle.
Wie Kurt da reinpasst ist mir freilich unklar. Sein Lieblingsthema ist
hiervon derart weit entfernt, dass es schwierig sein könnte, den Thread
in seine Richtung zu drehen. Und bei fremden Themen war er bisher ok.
A. K. schrieb:> Wie Kurt da reinpasst ist mir freilich unklar.
Assembler stiehlt einem so viel Zeit wie große Sonnenmassen.
"Ooops, schon wieder 2 Tage rum!"
Frank M. schrieb:> A. K. schrieb:>> Wie Kurt da reinpasst ist mir freilich unklar.>> Assembler stiehlt einem so viel Zeit wie große Sonnenmassen.>> "Ooops, schon wieder 2 Tage rum!"
Ist Kurt nicht Gegner aller relativistischer oder quantenmechanischen
Theorien?
Hört Physik bei ihm nicht irgendwo bei Newton oder Maxwell auf?
Wobei, er ist ja, wie auch Moby, Verfechter des Einfachen, des Simplen.
Er erreicht das halt nicht mit Assembler sondern mit Grundteilchen
(GT)...
Benji schrieb:> Ist Kurt nicht Gegner aller relativistischer oder quantenmechanischen> Theorien?
Ja, ist er.
Aber trotzdem haben alle drei etwas gemein: Sie sind für Argumente
absolut unzugänglich. Du könntest Dir auch 3 Betonklötze in den Garten
stellen und mit denen reden.
Aber das ist hier ziemlich OT...
A. K. schrieb:> Wie Kurt da reinpasst ist mir freilich unklar.
Genau darum ;-)
Frank M. schrieb:> Aber trotzdem haben alle drei etwas gemein: Sie sind für Argumente> absolut unzugänglich. Du könntest Dir auch 3 Betonklötze in den Garten> stellen und mit denen reden.
... und über AM reden LOL
A. K. schrieb:> Josef G. schrieb:>> Kannst du mal eine konkrete Stelle nennen, wo etwas unverständlich ist?>> Beispielsweise das Carry-Flag partout V nennen zu müssen. So ziemlich> jeder ausser dir wird darunter Overflow verstehen.
Es steht unübersehbar auf der Seite CPU-doku, dass der Carry
bei mir V heisst. Deshalb sollte das kein Problem sein.
A. K. schrieb:> Josef G. schrieb:>> Es geht nicht um das Einsparen von Speicherplatz,>> sondern um das Einsparen von Tipp-Arbeit.>> Was du an Tipparbeit im Programm einsparst, das investierst du doppelt> und dreifach in Form von Kommentaren.
Kommentare zur Erklärung einzelner Assembler-Mnemonics?
Ein Assembler-Programmierer kennt die Mnemonics auswendig.
A. K. schrieb:> Übers Hex-System können wir mal drüber reden, wenn du es geschafft hast,
Das kann man so verstehen, dass auch du der Meinung bist, dass
die Einführung des Hexadezimalsystems irgendwann kommen wird.
Mit der Idee, einen Hex-Ziffernsatz einzuführen, bin ich nicht allein.
https://en.wikipedia.org/wiki/Hexadecimal#cite_note-19
Josef G. schrieb:> Es steht unübersehbar auf der Seite CPU-doku, dass der Carry> bei mir V heisst. Deshalb sollte das kein Problem sein.
Wenn ich eine CPU baue, bei der den MUL Befehl addiert, der MOVE Befehl
dividiert und der CALL Befehl subtrahiert, dann wär das also völlig ok,
vorausgesetzt es steht so in der Doku?
Es gibt sogar Leute, die Programmiersprachen nach dem Schema entwickeln,
es den Leuten möglichst schwierig zu machen. INTERCAL ist ein prächtiges
Beispiel dafür. Aber das ist ein Jux, das ist der Unterschied.
> Ein Assembler-Programmierer kennt die Mnemonics auswendig.
Da kann man den Leuten den Weg einfach oder steinig machen. Der steinige
Weg könnte sich aber beim Versuch, andere von seinen Vorzügen zu
überzeugen, als hinderlich erweisen.
Aber genau das versuchst du. Du baust den Weg nicht allein für dich,
sondern willst andere Leute von den Vorzügen deiner Stolpersteine
überzeugen. Und bist enttäuscht, wenn alle nur kaputte Füsse und blaue
Flecken sehen.
> Das kann man so verstehen, dass auch du der Meinung bist, dass> die Einführung des Hexadezimalsystems irgendwann kommen wird.
Mach eine Reise auf die Insel und versuch es. Aber Obacht, die
Ausdrucksform der Ironie ist Briten durchaus geläufig. ;-)
A. K. schrieb:> das ist der Unterschied.
Ist es das ?
Wahrscheinlich lesen wir bald von dem 'Joseph G. Experiment', einer
bahnbrechen psychologischen Langzeitstudie am lebenen Technikerhirn.
Josef G. schrieb:> Das kann man so verstehen, dass auch du der Meinung bist, dass
...
Du ohnehin jede Lebensäusserung solange verdrehst bis es das stützt was
Du bereits zu glauben beschlossen hast.
Seht lustiger Thread.
Bitte nicht aufhören.
Michael K. schrieb:> Ist es das ?
;-)
> Wahrscheinlich lesen wir bald von dem 'Joseph G. Experiment', einer> bahnbrechen psychologischen Langzeitstudie am lebenen Technikerhirn.
Meinst du wirklich, ein Psychologe würde so eine Seite hinkriegen: ;-)
http://www.bomerenzprojekt.de/Website/home.html
Bei Kurt hatte ich mir allerdings auch schon mal überlegt, ob man ihm
nicht mit einer spezifischen Version von Eliza kontern könnte.
A. K. schrieb:> Meinst du wirklich, ein Psychologe würde so eine Seite hinkriegen: ;-)
Mit ein wenig Unterstützung seiner Patienten aus der Therapiegruppe
bestimmt.
Was würde wohl Freud aus dieser Gelb Fixierung herauslesen ...
A. K. schrieb:> Bei Kurt hatte ich mir allerdings auch schon mal überlegt,
Ja ja, lieber künstliche Intelligenz als natürliche Dummheit.
Es scheint aus medizinischer Sicht keine Einschränkung zu geben was ein
Mensch bereit ist zu glauben und was er zu tun bereit ist diesen Glauben
zu schützen.
Mit jemanden leidenschaftlich zu diskutieren der schon über einen langen
Zeitraum immer nur die gleichen Phrasen und gleichen Links hervorkramt
ist da nicht so weit weg von.
Ich betrachte das als Unterhaltungsprogramm, bin mir aber sicher das
jeder von uns auf einem schmalen Grad zwischen Überzeugung und Wahn
wandelt.
Herbert schrieb:> Ach da hast du das ekelige Gelb für deine Seite her...
Da man in diesem Forum seinen Browser so dressieren kann, dass er selbst
definierte Styles einem Autor der Beiträge zuordnen kann, sollte es
nicht weiter schwierig sein, Josefs Beiträge passend einzufärben.
Das Prinzip ist hier beschrieben:
Beitrag "User ausblenden"
Josef G. schrieb:> Bezeichnend für die Kritiker, dass darauf niemand eingeht.
Warum sollte man auf so etwas abwegiges eingehen? Milliarden Leute
zählen bis 10, weil sie 10 Finger haben.
Wenn die Menschheit irgendwann derart mutiert, dass 16 Finger normal
sind, dann kannst Du mit dieser abstrusen Idee ja nochmal wiederkommen.
> Die Frage solltest du dir selber stellen, wenn> du deinen eigenen Beitrag nochmal durchliest.
Okay, dann erklär ich's Dir: schwarz auf türkis ist sch...lecht und
schwarz auf gelb machts nicht besser.
Färbst Du die Bücherseiten auch erst gelb ein, bevor Du sie liest? Nein?
Was soll das dann auf Deiner Webseite?
Frank M. schrieb:> Färbst Du die Bücherseiten auch erst gelb ein, bevor Du sie liest?
Vielleicht ist er das von seiner Tageszeitung gewohnt. Da passiert das
von selbst. Seinen Sprachstrukturen zufolge hat er grad die 50er Jahre
durch und widmet sich nun den 60ern. ;-)
Josef G. schrieb:> Josef G. schrieb:>> Mit der Idee, einen Hex-Ziffernsatz einzuführen, bin ich nicht allein.>> https://en.wikipedia.org/wiki/Hexadecimal#cite_note-19>> Bezeichnend für die Kritiker, dass darauf niemand eingeht.
Der führt aber keinen HEX-Ziffernsatz ein, der fortlaufend gezählt von 0
-F die Zahlen 0 - 16 (mit Offset) repräsentiert, sondern er will nur in
Unicode für die HEX Darstellung nochmal Zeichen von A - F reservieren.
Der Hintergedanke ist wahrscheinlich, daß Schriftdesigner dann beim
Schriftschnitt diese Zeichen so gestalten, daß sie für eine
HEX-Darstellung ein harmonischeres Schriftbild geben (zusammen mit den
Ziffern).
Das ist etwas ganz anderes...
Gruß,
Bernhard
Frank M. schrieb:> Was soll das dann auf Deiner Webseite?
Hatte ich mal irgendwo gelesen, dass schwarz auf gelb am besten
lesbar sei. Suche nach "lesbarkeit schwarz auf gelb" liefert
http://www.farbenundleben.de/titel/unterlagen.htm
Übersicht: Lesbarkeit von Farbkombinationen
Wer die Farbe nicht mag, kann die Seiten mit der Maus
kopieren und mit einem Texteditor seiner Wahl ansehen.
Josef G. schrieb:> Wer die Farbe nicht mag, kann die Seiten mit der Maus> kopieren und mit einem Texteditor seiner Wahl ansehen.
Lass den Hintergrund doch weiß, dann kann jeder die Seiten auf farbige
Blätter seiner Wahl ausdrucken.
Willst Du Deinem Leser die Farbe etwa genauso wie Deinen HEX-Zeichensatz
einfach aufzwängen? Damit bevormundest Du ihn. Welches Bände spricht,
was den Respekt betrifft, den Du ihm gegenüber aufbietest.
Kein Wunder, dass keiner den Text lesen will.
@Josef G. (bome) Benutzerseite
>Mit der Idee, einen Hex-Ziffernsatz einzuführen, bin ich nicht allein.>https://en.wikipedia.org/wiki/Hexadecimal#cite_note-19
Ja, genauso wie mit der Idee, daß Elvis noch lebt und von
Ausserirdischen entführt wurde ;-)
So long, and thanks for all the fish!
Falk B. schrieb:> @Josef G. (bome) Benutzerseite
Da weiter oben mehrfach von psychologischen Deutungen die Rede war,
jetzt auch mal von mir ein absolut unsachlicher Beitrag:
Falk hat das Problem, ein Trauma verarbeiten zu müssen, welches
darin besteht, dass er sein Spartan-3A-Starterkit verkauft hat.
Zu gerne würde er mein System darauf realisieren, aber das
geht ja nun leider nicht mehr.
Beitrag "[V] Spartan 3A Starter Kit"
Josef G. schrieb:> Falk hat das Problem, ein Trauma verarbeiten zu müssen,
Mag sein.
Tröstet er sich deswegen mit guter Literatur darüber hinweg ?
Oder ist die Antwort auf die Frage die wir uns alle stellen 42 ?
Das ist richtig gutes Improvisationstheater hier.
Such Dir einen Verlag und bring diesen Thread als Buch heraus.
Josef G. schrieb:> Falk hat das Problem, ein Trauma verarbeiten zu müssen
Das glaube ich Dir nicht! Als Wissenschaftler fordere ich von Dir erst
ein mal eine belastbare Hypothese die dann mittels Experiment
falsifiziert wird!
Ist quasi ein OpenJosefGeh-Projekt
A. K. schrieb:> Josef G. schrieb:>> Es steht unübersehbar auf der Seite CPU-doku, dass der Carry>> bei mir V heisst. Deshalb sollte das kein Problem sein.>> Wenn ich eine CPU baue, bei der den MUL Befehl addiert, der MOVE Befehl> dividiert und der CALL Befehl subtrahiert, dann wär das also völlig ok,> vorausgesetzt es steht so in der Doku?
Ist aber schon ein großer Unterschied, ob man einen einzelnen
Buchstaben willkürlich für ein Register/Flag verwendet, oder
ob es um längere Buchstabenfolgen geht, welche offensichtlich
Abkürzungen oder ganze Worte sind und eine Bedeutung haben.
Bei meiner CPU gibt es zwei 1-bit-Größen: das Vorzeichenbit
des Akku und den Carry. Dafür habe ich die Buchstaben U und V
gewählt, weil sie ähnlich aussehen und im Alphabet benachbart
sind. Das hebt sie ab von den 8- und 16-bit-Registern.
Josef G. schrieb:> Dafür habe ich die Buchstaben U und V> gewählt, weil sie ähnlich aussehen
Gerade das verstehe ich nicht. Wenn sie ähnlich aussehen vertauscht man
sie doch gerne, gerade wenn man mal was von Hand schreibt. In Mathe
werden für Vektoren ja auch gerne u und v genutzt, finde ich persönlich
furchtbar, da man die sehr leicht vertauscht wenn man nicht gerade 100%
ordentlich schreibt.
Warum benutzt du nicht einfach A und C? Für Akku und Carry? Das wäre
doch direkt einleuchtend, Verdunkelungsgefahr ausgeschlossen. Auf deiner
Website steht übrings das A der Akku ist... Und so wie ich das sehe ist
C noch frei, warum also nicht einfach C für Carry als Abkürzung
benutzten?
Oh sehe gerade du redest vom Vorzeichenbit des Akku mein Fehler. Aber
dann ist mir U und V noch kurioser. Das V orzeichenbit wird mit U
abgekützt, und der Carry mit V. Das ist für Anfänger halt einfach nur
komplett verwirrend und macht einen Einstieg quasi unmöglich und löscht
jeglichen Spaß daran direkt aus leider...
@Josef G. (bome) Benutzerseite
>Falk hat das Problem, ein Trauma verarbeiten zu müssen, welches>darin besteht, dass er sein Spartan-3A-Starterkit verkauft hat.>Zu gerne würde er mein System darauf realisieren, aber das>geht ja nun leider nicht mehr.
Hey Joseph, du hast ja sogar HUMOR! Hätte ich gar nicht gedacht,
ehrlich!
Hab schön gelacht, Danke.
;-)
Josef G. schrieb:> Zwar weiter oben schon mal gepostet, aber seitdem> nochmal geringfügig geändert: Die Zeichen 00..7F.
Toll. Abgesehen von den vielfältigen Steuerzeichen, die es in ASCII
gibt, fehlen unter anderem Carriage Return und Newline. Damit kann man
nur noch gaaaaaanz lange Sätze ohne Absatz schreiben. Alles in einer
Zeile. Super!
Auch fehlen für den UNIX-/Linux-User so wichtige ASCII-Zeichen wie ~ (um
das eigene HOME anzusprechen), ^ für Regular Expressions, @ um Mails zu
schreiben, oder auch `, um Ausgaben von Programmen in Variablen zu
speichern - um nur einige zu nennen.
In Josefs Welt kann man dank fehlendem @ noch nichtmals Mails schreiben!
Ich bin begeistert! Endlich kein Spam mehr! Glücklicherweise können wir
dank # aber weiter twittern! Stark!
> Codes 80..FF liefern die Zeichen unterstrichen.
Du verschwendest 1 ganzes Bit, um zu unterstreichen, verzichtest dafür
aber auf 128 andere Zeichen wie é, è, à? Klasse! Das ist ja mal ein
netter DEUTSCHER Zeichensatz! ÄÖÜäöüß sind drin, aber Franzosen bleiben
außen vor! Gut so! Die anderen Europäer schicken wir einfach in die
Wüste zum Steinekloppen! Deutschland ist sowieso der Mittelpunkt der
Welt.... Wir schreiben jetzt alle nur noch Deutsch!
Josef, hast Du sie noch alle? Oder willst Du jetzt wieder National
Codepages einführen, wie es in den 80ern noch auf 7-Bit-Terminals gab?
Die damalige Revolution des DEC Multinational Character Sets, welche
schließlich in die Standardisierung von ISO8859 mündete, hast Du
offenbar komplett verschlafen! Von UTF-8 jetzt mal ganz zu schweigen...
Ich bin für einen 4-Bit Zeichensatz! 0-9 A-F reichen vollkommen aus! Wir
können ganze Bücher neu schreiben!
Frank M. schrieb:> In Josefs Welt kann man dank fehlendem @ noch nichtmals Mails schreiben!> Ich bin begeistert! Endlich kein Spam mehr! Glücklicherweise können wir> dank # aber weiter twittern! Stark!
Doch, natürlich kann man das. Für X.400-Mails benötigt man kein "@".
Frank M. schrieb:> fehlen unter anderem Carriage Return und Newline. Damit kann> man nur noch gaaaaaanz lange Sätze ohne Absatz schreiben.
Die Zeichen 30..3F und 70..7F sind auf der Tastatur nicht direkt
verfügbar. Die entsprechenden Tasten wirken als Steuerzeichen.
> ÄÖÜäöüß sind drin,
Diese Zeichen sind variabel. Die Pixelmuster liegen im RAM.
Josef G. schrieb:> Die Zeichen 30..3F und 70..7F sind auf der Tastatur nicht direkt> verfügbar. Die entsprechenden Tasten wirken als Steuerzeichen.
Häh? Ich übersetze Dein Gestammel mal:
"Die Tasten, die nicht verfügbar sind, wirken als Steuerzeichen."
Coooool! Ich drücke also eine nicht verfügbare Taste, um eine neue Zeile
zu beginnen. Das ist Revolution!
Und wie speichere ich das CR NL? Als irgendeinen Code zwischen 30..3F?
Aber wie kann ich dann bei der Ausgabe das Zeichen 30 (ist bei Dir ein
#) noch drucken, wenn es doch eine Zeilenvorschub bewirken soll?
Außerdem beschäftigt mich dann direkt folgendes:
Ich kann die Zeichen 30..3F und 70..7F gar nicht eingeben?!? Also dann
auch Deine Hex-Ziffern nicht? Die liegen nämlich genau bei 70..7F.
Super! Wir haben also demnächst einen Zeichensatz mit neuen Hex-Ziffern,
die man NICHT eingeben kann! Suuuuuper!
Damit führst Du Dich und Deinen Hex-Zeichensatz ja selbst ad absurdum!
Besser kann man sich nicht disqualifizieren. Gratulation.
>> ÄÖÜäöüß sind drin,>> Diese Zeichen sind variabel. Die Pixelmuster liegen im RAM.
Na also: Das nennt man National Character Set, wo jede Nation seine
eigenen 7 Sonderzeichen unterbringen, aber nicht mit dem Rest der Welt
kommunizieren kann! Damit schießt Du uns direkt ins letzte Jahrtausend!
Josef, merkst Du eigentlich, was Du für einen Stuss redest? Das Zeug ist
total unausgegoren und nicht praktikabel.
Also mach die Tonne auf und schütte einfach den Schrott rein. Deckel zu
und gut ist.
Frank M. schrieb:> Und wie speichere ich das CR NL?
Gar nicht. Textdateien haben eine feste Zeilenlänge,
kürzere Zeilen werden mit Leerzeichen aufgefüllt.
> Ich kann die Zeichen 30..3F und 70..7F gar nicht eingeben?!?
Zur Eingabe des Zeichens 70 (Ziffer 0 mit Überstrich)
drückt man erst die Taste AM, dann das Zeichen 60 (Ziffer 0).
Josef G. schrieb:> Gar nicht. Textdateien haben eine feste Zeilenlänge,> kürzere Zeilen werden mit Leerzeichen aufgefüllt.
Oh, Wie bei einer Lochkarte? Genial!
@ Frank M. (ukw) Benutzerseite
>Ich bin für einen 4-Bit Zeichensatz! 0-9 A-F reichen vollkommen aus! Wir>können ganze Bücher neu schreiben!
2 Bit reichen. Die DNA hat auch nur 4 Basenpaare und damit kann die
gesamte biologische Welt in iher schier endlosen Vielfallt kodiert
werden.
Falk B. schrieb:> 2 Bit reichen.
Bin dabei! Welche "Pixelmuster" nehmen wir?
Mein Vorschlag:
für 0 (ja, da ist NICHTS!)
. für 1
Verbraucht nicht soviel Druckerschwärze auf der Zeitung. Damit bekommst
Du eine ganze Tageszeitung auf einen Spickzettel. Ausserdem minimiert
sich jede Tastatur auf 2 Tasten. Absolut treffsicher - auch auf Handys.
Frank M. schrieb:> Oh, Wie bei einer Lochkarte? Genial!
Das war bei IBMs Mainframes auch nach der Lochkarten-Ära noch üblich.
Hat einen grossen Vorteil: Wenn du in einem File 10000 Zeilen
überspringen willst, dann muss du nur rechnen und direkt positionieren.
Nicht umständlich nach Newlines suchen.
Fehlt eigentlich nur noch der implizite Kommentar ab Spalte 72.
Beitrag "Re: 8bit-Computing mit FPGA"
A. K. schrieb:> Das war bei IBMs Mainframes auch nach der Lochkarten-Ära noch üblich.> Hat einen grossen Vorteil: Wenn du in einem File 10000 Zeilen> überspringen willst, dann muss du nur rechnen und direkt positionieren.> Nicht umständlich nach Newlines suchen.
Absolut überzeugend. Wir brauchen dann auch keine CR-Taste mehr. Wir
halten einfach ein Weilchen die Leertaste runter und trinken derweil
einen Schluck Kaffee, um einen neuen Absatz zu beginnen.
Texteditoren werden auch ganz simpel. Keine komplizierte
Speicherverwaltung mehr... Einfach rein in den Speicher mit dem Text...
Selbst das dumme Notepad hat dann nicht mehr das Problem, bei
Überspringen einer Leerzeile den Cursor ab dort wieder am Zeilenanfang
zu halten. Dieses "Feature" löst sich automatisch in Luft auf - ohne
jede Programmänderung :-)
Frank M. schrieb:> Texteditoren werden auch ganz simpel.
Yep. Textausschnitt ans Terminal senden, Anwender lokal auf dem Terminal
tippen lassen, Textausschnitt wieder zurück bekommen und überkleben. So
lief das auf IBMs Blockmode-Terminals. Arbeit hatte nur das Terminal
oder der Vorrechner, nicht der Mainframe.
Dass man ausgehend von solchen Systemen zu welchen überging, bei denen
jeder Tastendruck am Terminal das Zentralsystem beschäftigt, das war
eigentlich ein Rückschritt.
A. K. schrieb:> Dass man ausgehend von solchen Systemen zu welchen überging, bei denen> jeder Tastendruck am Terminal das Zentralsystem beschäftigt, das war> eigentlich ein Rückschritt.
Genau, viel zu viele Interrupts.
Josef G. schrieb:> Zwar weiter oben schon mal gepostet, aber seitdem> nochmal geringfügig geändert: [...]
Da fällt mir beim 2. Blick auf Deine Zeichensatztabelle noch etwas auf.
Die Dezimalzahlen 0..9 kannst Du streichen und durch etwas sinnvolleres
ersetzen. Wir haben doch jetzt Hex-Zahlen! Was sollen wir da noch mit
Dezimalzahlen?!? Weg damit!
Frank M. schrieb:> Auch fehlen für den UNIX-/Linux-User so wichtige ASCII-Zeichen wie
Für UNIX-/Linux-User ist der Zeichensatz auch nicht gedacht.
A. K. schrieb:> Hat einen grossen Vorteil: Wenn du in einem File 10000 Zeilen> überspringen willst, dann muss du nur rechnen und direkt positionieren.> Nicht umständlich nach Newlines suchen.
Weiterer Vorteil: Man sieht auf dem Bildschirm ein Eins-zu-Eins-Abbild
der gespeicherten Textdatei. Es gibt keine versteckten Steuerzeichen.
Frank M. schrieb:> A. K. schrieb:>> Dass man ausgehend von solchen Systemen zu welchen überging, bei denen>> jeder Tastendruck am Terminal das Zentralsystem beschäftigt, das war>> eigentlich ein Rückschritt.>> Genau, viel zu viele Interrupts.
Aus Sicht des Mainframes gab es bei zeichenorientierten Terminals viel
zu viele Kontextwechsel zwischen Anwenderprozessen. Aus Benutzersicht
wurde das mit erheblichen Latenzzeiten bestraft. Neben IBM-Mainframes
arbeiteten z.B. die Siemens/Fujitsu-Mainframes auch mit
blockorientierten Terminals.
Bessere blockorientierte Terminals erlauben auch die Darstellung von
Eingabemasken, so dass nach Beendigung der Eingabe nur deren Daten
übertragen werden. Das ist äußerst effizient!
Man beachte, dass Mainframes mit einem Hundertstel der Rechenleistung
eines heutigen PCs durchaus in der Lage waren, Terminalsitzungen für
tausend Benutzer zu ermöglichen. Manchmal wurden auch
Datenkonzentratoren vorgeschaltet, die eine Umsetzung von
zeichenorientierten Terminals (VT100 o.ä.) auf die blockorientiert zu
übertragenden Eingabemasken erledigten.
Heutzutage setzt man auch wieder auf Blockorientierung, z.B. beim
Schreiben eines Beitrages für dieses Forum. Ansonsten wären viele
Webseiten auch reichlich unhandlich... Natürlich gibt es heutzutage auch
Mischformen, bei denen jeder Tastendruck sofort zum Webserver übertragen
wird, z.B. bei Eingaben in der Google-Suchmaschine.
Josef G. schrieb:> Weiterer Vorteil: Man sieht auf dem Bildschirm ein Eins-zu-Eins-Abbild> der gespeicherten Textdatei. Es gibt keine versteckten Steuerzeichen.
Weiterer Nachteil: Das Eins-zu-Eins-Abbild der gespeicherten Textdatei
stellt einen eklatanten Verstoß gegen das fast immer gewünschte
MVC-Muster dar. Damit katapultiert man sich nicht nur in die 1980er
Jahre zurück, sondern satt in die 1970er...
So sehr ich auch Josefs Engagement bewundere, bin ich erstaunt, wie
zielsicher er bei seinem Rechnerkonzept so ziemlich jeden
Entwurfsfehler, der im Laufe der Computergeschichte gemacht wurde,
wiederholt und ihn als neue Errungenschaft feiert.
Josef G. schrieb:> Hab ich nirgendwo behauptet, dass das neu ist.
Es gibt irgendwo eine (hypothetische) lange Liste von in grauer Vorzeit
begangenen Entwurfsfehlern. Natürlich kennt nicht jeder jeden jemals
begangenen Fehler, so dass bestimmte Fehler auch wiederholt werden. Das
Neue an Deiner Vorgehensweise ist dabei, dass Du ignorierst, dass es
sich dabei um Fehler handelt. Wenn man eine "neue" Idee hat, gibt es
üblicherweise die folgenden Möglichkeiten:
1. Die Idee ist wirklich neu.
2. Die Idee ist überhaupt nicht neu, sondern man hat sich nur
zu wenig umgeschaut.
3. Die Idee ist überhaupt nicht neu, aber niemand setzt sie mehr um,
weil die Nachteile hinreichend bekannt sind.
Anfänger tendieren sehr häufig dazu, 1. anzunehmen. Sie lernen jedoch,
dass in Wirklichkeit fast immer 2. oder 3. zutreffen.
Neu ist jedoch Deine Vorgehensweise:
4. Ideen, die ganz offensichtlich der Kategorie 3 zuzuordnen sind,
werden per Definition als 1. angesehen. Das sorgt dafür, dass es
keine Nachahmer geben wird, die sich durch 3. abschrecken lassen.
Josef G. schrieb:> Matthias W. schrieb:>> Aber für einen Dritten ist das alles völlig undurchsichtig.>> Kannst du mal eine konkrete Stelle nennen, wo etwas unverständlich ist?>> Oder besser: Wenn man die Seiten der Reihe nach jeweils von oben nach> unten liest, an welcher Stelle setzt die Verstehbarkeit aus?
Die Frage ist nach wie vor unbeantwortet.
Auch von Anderen wurde mir mehrfach vorgehalten, die Dokumentation
sei unverständlich, aber niemand nennt eine konkrete Stelle.
Ich möchte nun diese Kritiker bitten,
zunächst diesen Beitrag nochmal zu lesen:
Beitrag "Re: 8bit-Computing mit FPGA"
Wenn man danach die Seite SYS-doku von oben nach unten liest:
An welcher Stelle ist zum ersten Mal etwas unverständlich?
Josef G. schrieb:> Die Frage ist nach wie vor unbeantwortet.
Ich fürchte, das wirst du nie verstehen, weil du selbst dafür keine
übersichtliche Doku brauchst und von Vorbildern nichts zu halten
scheinst. Wenn man Doku für sich selbst schreibt, als Gedächtnisstütze,
dann kommt ungefähr so etwas wie bei dir heraus. Wenn man jedoch andere
überzeugen will, dann muss man sich an deren Ansprüchen orientieren,
nicht an den eigenen.
Das fängt ganz wesentlich mit der optischen Gestaltung an. Ob dir das
gefällt oder nicht, das ist ein Aspekt unter dem ein Leser sich der
Sache nähert. Die letzte mit Schreibmaschine gesetzte
Architektur-Dokumentation sah ich in den 80ern bei INMOS. Und die war
schon damals deutlich aus der Zeit gefallen.
Es geht mit völlig fehlender Systematik weiter. Das sieht aus wie eine
Ansammlung von Stichworten und Listen, bei denen kaum zwei aufeinander
folgende Absätze einen erkennbaren Bezug zueinander haben.
Spätestens da hört jeder auf, sich überhaupt damit zu befassen. Es ist
nämlich deine Aufgabe, den Lesern das schmackhaft zu machen, wenn du
damit etwas erreichen willst. Es ist nicht die Aufgabe des zufälligen
Lesers, sich da durchzukämpfen.
Josef G. schrieb:> Ich möchte nun diese Kritiker bitten,> zunächst diesen Beitrag nochmal zu lesen:> Beitrag "Re: 8bit-Computing mit FPGA">> Wenn man danach die Seite SYS-doku von oben nach unten liest:> An welcher Stelle ist zum ersten Mal etwas unverständlich?
Da wo in deinem oben genannten Beitrag steht:
> Der Punkt in den Mnemonics steht für den auf der> Grundlinie liegenden Bindestrich.
Warum dann nicht einfach "AD_X" oder "J__" (oder in dem Fall sogar "J")
geschrieben??
beric schrieb:> Warum dann nicht einfach "AD_X" oder "J__" (oder in dem Fall sogar "J")> geschrieben??
Der auf der Grundlinie liegende Bindestrich ist kein Unterstrich.
Dieses Zeichen habe ich in meinem Zeichensatz neu eingeführt.
Den Unterstrich als Bindestrich zu verwenden finde ich hässlich,
ausserdem hat es den Nachteil, dass man Strings, in welchen der
Unterstrich als Bindestrich verwendet wird, nicht ohne
Informationsverlust unterstreichen kann.
Josef G. schrieb:> Den Unterstrich als Bindestrich zu verwenden finde ich hässlich,
Der Unterstrich ist aber seit Jahrzehnten Standard, um längere
Bezeichner wortweise zu trennen. Das gilt so ziemlich für alle
Bezeichner in Programmiersprachen, z.B. bei Variablen, Funktionen,
Makros usw.
Ob der Unterstrich "hässlich" ist, steht überhaupt nicht zur Debatte.
Durch Deine konsequente Weigerung, Standards auch anzuwenden, wirst Du
immer auf Ablehnung stoßen. Warum machst Du Dir selbst das Leben schwer?
Für Dich mag z.B. das Wort "Blumenvase" vielleicht eine gelungene
Bezeichnung für ein Prozessor-Register sein. Aber Du kannst davon
ausgehen, dass der Rest der Welt dies für ziemlich unpassend hält.
Aber so ist Josef:
1. Webseiten werden gelb eingefärbt, statt den Hintergrund weiß
zu lassen, wie man es i.a. gewohnt ist.
2. Prozessor-Register bekommen Namen, die NICHTS mit deren
Funktion zu tun haben.
3. Der Unterstrich, der sich als Standard etabliert hat,
wird kurzerhand durch Punkt ersetzt, einfach, weil der
Punkt weniger "hässlich" ist.
Die Liste ließe sich noch beliebig fortsetzen.
Um es mal hart auszudrücken:
Du machst alles anders, als der Rest der Welt es gewohnt ist. Das ist
für alle (außer Dich) INAKZEPTABEL.
> ausserdem hat es den Nachteil, dass man Strings, in welchen der> Unterstrich als Bindestrich verwendet wird, nicht ohne> Informationsverlust unterstreichen kann.
Vermeide einfach die blöden Unterstreichungen. Dann gewinnst Du auch 128
zusätzliche Zeichen in Deinem Super-Duper-nicht-praxisrelevanten
Zeichensatz.
P.S.
Warum nutzt Du eigentlich die deutsche Sprache hier im Forum? Um sich
von den anderen abzusetzen, solltest Du diese durch ein Josefsches
Neusprech komplett ersetzen.
Frank M. schrieb:> Warum nutzt Du eigentlich die deutsche Sprache hier im Forum? Um sich> von den anderen abzusetzen, solltest Du diese durch ein Josefsches> Neusprech komplett ersetzen.
Hierfür würde sich eine Mischung aus Volapük und Esperanto anbieten,
wobei Josef sicherlich auch noch die Grammatik und einige unschöne
Wörter gemäß seines eigenen Geschmacks anpassen könnte.
Frank M. schrieb:> 3. Der Unterstrich, der sich als Standard etabliert hat,> wird kurzerhand durch Punkt ersetzt, einfach, weil der> Punkt weniger "hässlich" ist.
Der Punkt wird nur in der auf PC geschriebenen und dargestellten
Dokumentation verwendet, nicht auf dem realen System.
> Du machst alles anders, als der Rest der Welt es gewohnt ist.
Hätte ich alles so gemacht, wie es bisher alle machen, wäre mein
System überflüssig. Der Sinn des Computers besteht gerade darin,
dass dort vieles anders ist.
> Vermeide einfach die blöden Unterstreichungen.
Unterstreichungen sind eine sehr einfache und auch auf einem
8bit-Rechner realisierbare Möglichkeit, Text hervorzuheben,
ohne dass man eine zweite Schriftart braucht.
Also besteht der Nutzen Deines Systems darin das man auf einem
handelsüblichen PC unmöglich die Dokumentation für Dein System schreiben
kann ?
Gibt es denn irgendeine Möglichkeit die Doku auf den System selber zu
schreiben und dann zu drucken, zu mailen oder sonstwie der Aussenwelt
zur Verfügung zu stellen, oder ist das perfekt isoliert von allem ?
Stellt euch doch mal eine Welt vor, in der jeder zunächst einfach die
Eigenheiten und Besonderheiten der anderen Person so akzeptiert wie sie
sind. Frei von jedem narzisstischen Gehabe werden einfach höflich die
Probleme diskutiert. Andere Meinungen dürfen jederzeit gleichberechtigt
nebeneinander stehen bleiben. Wer mitmachen möchte, tut es, wer nicht
schweigt. Was für eine wundervolle Welt muss das sein!
Joe G. schrieb:> Was für eine wundervolle Welt muss das sein!
Yep, der Thread hier kommt dem eigentlich recht nahe. Aber eine
Einschlafhilfe soll der Thread ja auch nicht sein.
@Joe G. (feinmechaniker) Benutzerseite
>Stellt euch doch mal eine Welt vor, in der jeder zunächst einfach die>Eigenheiten und Besonderheiten der anderen Person so akzeptiert wie sie>sind.
Darum geht es keine Sekunde.
> Frei von jedem narzisstischen Gehabe werden einfach höflich die>Probleme diskutiert. Andere Meinungen dürfen jederzeit gleichberechtigt>nebeneinander stehen bleiben.
Richtig, eine MEINUNG, egal wie abstrus. Das Problem ist schlicht, dass
es hier um ein COMPUTERSYSTEM geht und dessen Eigenschaften. Dieses hier
vorgestellte System ist was für Autisten, genauer, nur etwas für den
Erschaffer. Der Rest der Welt kann damit rein gar nichts anfangen,
ausser drüber zu lästern. Mit Grund!
> Wer mitmachen möchte, tut es, wer nicht>schweigt. Was für eine wundervolle Welt muss das sein!
Langweilig! Wie ein Meer ohne Wind!
Joe G. schrieb:> Andere Meinungen dürfen jederzeit gleichberechtigt> nebeneinander stehen bleiben
Bei Politik und Religion ist dieser Ansatz ganz ok, weils sonst Mord und
Totschlag gibt. Aber wenn wir in gleicher Weise die Weltbilder von
Ptolemäos und Galilei gleichberechtigt nebeneinander stellen, nur um des
lieben Friedens willen, dann wird es schon etwas abstrus.
@A. K. (prx)
>> Andere Meinungen dürfen jederzeit gleichberechtigt>> nebeneinander stehen bleiben>Bei Politik und Religion ist dieser Ansatz ganz ok, weils sonst Mord und>Totschlag gibt.
Gibt es die nicht?
> Aber wenn wir in gleicher Weise die Weltbilder von>Ptolemäos und Galilei gleichberechtigt nebeneinander stellen, nur um des>lieben Friedens willen, dann wird es schon etwas abstrus.
Aber sicher! Nennt sich neudeutsch TOLERANZ! Liegt sehr im Trend!
Josef G. schrieb:> Der Punkt wird nur in der auf PC geschriebenen und dargestellten> Dokumentation verwendet, nicht auf dem realen System.
Interessant... das ist ja wie das Handbuch für eine Kaffeemaschine, die
einem Entsafter beiliegt.
Frank M. schrieb:> Interessant...
Auf dem realen System gibt es den auf der Grundlinie liegenden
Bindestrich. Dieses Zeichen ist auf PCs nicht verfügbar,
deshalb habe ich es auf PCs durch den Punkt ersetzt.
Du hast wider besseres Wissen den Eindruck erweckt, Ich würde
auf dem realen System den Punkt als Bindestrich verwenden:
Frank M. schrieb:> 3. Der Unterstrich, der sich als Standard etabliert hat,> wird kurzerhand durch Punkt ersetzt, einfach, weil der> Punkt weniger "hässlich" ist.
Jeder, der den Thread aufmerksam mitliest, weiss, dass das
Unsinn ist. Offenbar spekulierst du darauf, dass viele
Mitleser aber unaufmerksam sind und deinen Unsinn glauben.
Ich war deshalb gezwungen, deinen Unsinn richtigzustellen:
Josef G. schrieb:> Frank M. schrieb:>> 3. Der Unterstrich, der sich als Standard etabliert hat,>> wird kurzerhand durch Punkt ersetzt, einfach, weil der>> Punkt weniger "hässlich" ist.>> Der Punkt wird nur in der auf PC geschriebenen und dargestellten> Dokumentation verwendet, nicht auf dem realen System.
Und nun versuchst du, meine Richtigstellung umzudeuten, wobei du
offenbar wieder auf die Unaufmerksamkeit der Mitleser spekulierst:
Frank M. schrieb:> Josef G. schrieb:>> Der Punkt wird nur in der auf PC geschriebenen und dargestellten>> Dokumentation verwendet, nicht auf dem realen System.>> Interessant... das ist ja wie das Handbuch für eine Kaffeemaschine,> die einem Entsafter beiliegt.
Nach all dem frage ich mich, was deine Motive sind.
Josef G. schrieb:> Nach all dem frage ich mich, was deine Motive sind.
Was ist denn dein Motiv ein Prozessor zu erschaffen den keiner versteht
und erst recht keiner braucht?
Josef G. schrieb:
zu Frank M.
> Du hast wider besseres Wissen den Eindruck erweckt> Jeder, der den Thread aufmerksam mitliest, weiss, dass das> Unsinn ist. Offenbar spekulierst du darauf, dass viele> Mitleser aber unaufmerksam sind und deinen Unsinn glauben.>> Ich war deshalb gezwungen, deinen Unsinn richtigzustellen:> Und nun versuchst du, meine Richtigstellung umzudeuten, wobei du> offenbar wieder auf die Unaufmerksamkeit der Mitleser spekulierst:
Das sind alles Spezialitäten und Spitzfindigkeiten dieses Herrn,
> was deine Motive sind.
der mit seinem göttlichen IRMP mangels Interesse offensichtlich nicht
mehr ausgelastet ist.
Josef G. schrieb:> Auf dem realen System gibt es den auf der Grundlinie liegenden> Bindestrich. Dieses Zeichen ist auf PCs nicht verfügbar,> deshalb habe ich es auf PCs durch den Punkt ersetzt.
Natürlich gibt es den auf dem PC: Ich schenke ihn Dir: _
(Rechte Shift-Taste und die links daneben liegende Taste drücken)
Er heißt auch nicht "auf der Grundlinie liegende Bindestrich", sondern
"Unterstrich" bzw. "Underscore".
> Du hast wider besseres Wissen den Eindruck erweckt, Ich würde> auf dem realen System den Punkt als Bindestrich verwenden:
Quatsch, ich habe nur den Eindruck erweckt, Du wärest total
durchgeknallt. Ich nehme das zurück. Es ist viel schlimmer.
> Nach all dem frage ich mich, was deine Motive sind.
Für mich gibt es zwei Möglichkeiten:
1. Ich versuche Dir zu erklären, dass Deine Versuche, etwas
neues zu erfinden, seit 40 Jahren überholt sind.
2. Ich schreie einfach nur den ganzen Tag in ein Kissen,
damit keiner meine Verzweiflung hört, wenn ich Deine
Postings lese.
Bisher halte ich mich tapfer an Schritt 1. Allerdings bin ich nicht mehr
weit von Schritt 2 entfernt...
Moby A. schrieb:> Josef G. schrieb:> zu Frank M.> [...]> der mit seinem göttlichen IRMP mangels Interesse offensichtlich nicht> mehr ausgelastet ist.
Du bist doppelt im Irrtum: IRMP ist lediglich eines meiner klitzekleinen
Projekte und läuft nur nebenher. Jedoch ist das Interesse an IRMP
nachwievor sehr hoch... erst gestern gab es ein neues Release auf Wunsch
einiger Leute.
Aber Du hast sonst keine Ahnung, wer ich bin und was ich tue. Also red'
nicht so einen Stuß daher. Mach Dich erstmal schlau, bevor Du Dich total
blamierst.
@ Frank M. (ukw) Benutzerseite
>Quatsch, ich habe nur den Eindruck erweckt, Du wärest total>durchgeknallt. Ich nehme das zurück. Es ist viel schlimmer.>Bisher halte ich mich tapfer an Schritt 1. Allerdings bin ich nicht mehr>weit von Schritt 2 entfernt...http://www.mikeleake.net/2015/01/what-to-do-when-someone-is-wrong-on-the-internet.html
;-)
Frank M. schrieb:> Natürlich gibt es den auf dem PC: Ich schenke ihn Dir: _>> (Rechte Shift-Taste und die links daneben liegende Taste drücken)
Ich glaube wenn ich Josef richtig verstehe, dann differenziert er an
dieser Stelle. Der Unterstrich liegt nicht auf der Grundlinie, sondern
darunter. Ein Punkt (.) liegt auf der Grundlinie, deswegen lag es für
ihn wohl nahe lieber diesen zu verwenden.
Gruesse
Christopher
Josef G. schrieb:> Josef G. schrieb:>> Matthias W. schrieb:>>> Aber für einen Dritten ist das alles völlig undurchsichtig.>>>> Kannst du mal eine konkrete Stelle nennen, wo etwas unverständlich ist?>>>> Oder besser: Wenn man die Seiten der Reihe nach jeweils von oben nach>> unten liest, an welcher Stelle setzt die Verstehbarkeit aus?>> Die Frage ist nach wie vor unbeantwortet.>> Auch von Anderen wurde mir mehrfach vorgehalten, die Dokumentation> sei unverständlich, aber niemand nennt eine konkrete Stelle.
Stimmt so nicht ganz, ein paar wenige Start-tipps für doku gab ich dir
mal
(z.b.: Beitrag "Re: 8bit-Computing mit FPGA")
Und: Ich habs ja auch nicht immer so mit der doku, aber im Internet sind
doch schöne Beispiele für gelungene CPU-Dokumentationen,
Es muss ja nicht soo ausführlich sein, aber nur mal
zur Anregung z.B. diese gelungene Seite zum "guten" alten 8051:
z.b:
http://www.self8051.de/einf%FChrung,13286.html
1) Funktionale Aufschlüsselung des Befehlsvorrats
http://www.self8051.de/funktionale_aufschl%FCsselu...
2) Die Adressierungsarten
http://www.self8051.de/adressierungsarten,13289.html
3) Alle Befehle in der Übersicht
http://www.self8051.de/alle_Befehle_des_8051_Mikro...
4) Und weiter wird dann noch jeder einzeln im Detail erklärt
-> lies doch mal ein noch ein paar CPU-Datenblätter oder Webseiten, und
lerne daraus wie andere Dokumentieren;
Also mal so als kurze Anregung in deine Seite hineingetextet (mit +):
(...)
-----------------------------------------------------------------------
+2) CPU Signale (Indexnummen in Hex):
a0 .. af Adressleitungen - Tristate
d0 .. d7 Datenleitungen - Tristate
N0 .. N3 Typleitungen - permanente Ausgänge
RES REP Reset Repeat - Eingänge
C0 C1 Takt Takt - Eingänge, Version 1
clk ena Takt Enable - Eingänge, Version 2
+Die CPU gibt keine WE, RD -Signale oder so etwas aus.
+Stattdessen gibt es die Typleitungen. Dort wird der Halbzyklus-Typ
+angezeigt. Siehe Seite xyz CPU-doku. Die WE, RD -Signale müssen daraus
+per externer Hardware erzeugt werden.
usw usw usw
+3) Kleines Blockdiagramm (eine richtige Zeichnung kein
Buchstabengewirr)
----------------------------------------------------------------
+4) Tabellarische Befehlsübersicht:
+0 +1 +2 +3 +4 +5 +6 +7
00- H.. SL.S SW.X SL.X SW.Y SL.Y SW.Z SL.Z
08- IX0 IX1 IX2 IX3 IX4 IX5 IX6 IX7
10- IY0 IY1 IY2 IY3 IY4 IY5 IY6 IY7
18- IZ0 IZ1 IZ2 IZ3 IZ4 IZ5 IZ6 IZ7
(....) rest bitte selbst einfügen
+Alle OpCodes sind 8bit breit.
+7) Opcodes im Detail
Aus deinem eigenen Beitrag:
+Beispiel: OpCode 69: XRMX
+>
+> Weiter unten steht: % stehe für X|Y|Z und
+> XRM% | XR.B A wird A xor op mit op = (%) | B
+>
+> Die letzte Zeile steht also für
+>
+> XRMX A wird A xor (X)
+> XRMY A wird A xor (Y)
+> XRMZ A wird A xor (Z)
+> XR.B A wird A xor B
+>
+> XRMX bewirkt also, dass A mit dem Inhalt jener Speicherzelle,
+> auf welche das Adress-Register X zeigt, xor-verknüpft wird.
Nun, dann schreib es doch auch so in deine Web-page für alle Befehle!
le x. schrieb:> Bedeutet das, meine bisherigen Programme sind jetzt nicht mehr
Die Frage überrascht mich sehr.
Hast du tatsächlich Software für die CPU geschrieben?
Oder ist die Frage doch nur theoretisch gemeint im Sinne von
"Mal angenommen, es hätte jemand bereits Software geschrieben ..."?
Josef G. schrieb:> Es gibt eine Änderung der CPU: Die Befehle SZ.A AZ.A LZ.A> auf Position e4/e5/e6 wurden ersetzt durch NA.K ZO.K NA.A
Noch eine Änderung: Die Positionen e5 und fb
der Befehle ZO.K und SL.K wurden getauscht.
le x. schrieb:> Bedeutet das, meine bisherigen Programme sind jetzt nicht mehr> lauffähig?
Nicht nur deine! Auch meine Programme laufen nicht mehr! Ich stampfe
diesen Core wieder ein und verwende einen anderen...
Josef G. schrieb:> Die Frage überrascht mich sehr.> Hast du tatsächlich Software für die CPU geschrieben?
War ja eigentlich klar das nicht mal du selbst von jemandem erwartest
mit deiner CPU zurechtzukommen...
Habe die Konfigurationen für alle 5 Boards überarbeitet.
Bisher gab es die zwei CPU-Takte cl1 und cl0. Da von cl1 nur die
steigende Flanke und von cl0 nur die fallende Flanke verwendet
werden, habe ich diese Takte ersetzt durch einen einzigen Takt mit
der steigenden Flanke von cl1 und der fallenden Flanke von cl0.
Den einen Takt habe ich wieder cl1 genannt.
Siehe die Pegeldiagramme auf der Seite CPU-doku meiner Website
oder auf http://www.mikrocontroller.net/articles/8bit-CPU:_bo8
Der eine Takt heisst dort clk2.
Ausserdem möchte ich an dieser Stelle auf die Version 2 der CPU
hinweisen, welche statt 2 Takteingängen nur einen Eingang für
einen symmetrischen Takt besitzt, und dazu einen Eingang für ein
Enable-Signal. FPGA-Fachleute finden vielleicht diese Version
besser. Vielleicht hat jemand eine Verwendung für die CPU,
unabhängig von meinem Gesamtprojekt. Moderne FPGA haben teils
mehr als 64 KByte Block-RAM, da könnte die Fähigkeit der CPU
interessant sein, mehrere 64K-Seiten zu adressieren und auch
von einer Seite in eine andere zu springen.
Josef G. schrieb:> Moderne FPGA haben teils> mehr als 64 KByte Block-RAM, da könnte die Fähigkeit der CPU> interessant sein, mehrere 64K-Seiten zu adressieren und auch> von einer Seite in eine andere zu springen.
Das macht man im FPGA aber klick.klack in einem Takt, parallel, vorwärts
und rückwaerts mit Salto. Ich sehe da - außer zum Selbstzweck - keinen
Bedarf für noch eine CPU. Im Bereich der Frage nach FPGA-Projekten gab
es hingegen eine Anregung, einen CoPRo zu bauen. Wenn der Kompakt genug
ist, könnte man soviele Instanziieren, wie es an Latenz für einen Befehl
hat und bekäme eine pipeline.
Ich sehe da einen komplexen Rechner, dem man Aufgaben nur noch übergibt
und nur noch das Ergebnis abholt, statt zu warten.
Da mir weiter oben mehrfach vorgehalten wurde, die Dokumentation,
insbesondere die Seite SYS-doku meiner Website, sei unverständlich,
habe ich den Artikel zum Projekt ergänzt durch einen nach meiner
Ansicht leicht zu lesenden Abschnitt über die Programmiersprache.
http://www.mikrocontroller.net/articles/8bit-Computer:_bo8h
Du hast aber schon mal ein Datenblatt zu einer CPU, MCU, Embedded PC
etc. pp. in der Hand gehabt, oder ?
Was unterscheidet Deine 'Dokumentation' von einem Datenblatt ? (Alles)
Wiederholtes abspulen unstrukturierter Prosa unter Anwendung von
dramatisch eigensinnigen Ansichten über Namenskonventionen und
Lesbarkeit macht es auch im 20ten Aufguss nicht besser.
Schreib es doch gleich auf Esperanto, das spricht auch kein Schwein
obwohl es bereits 1887 als neue Weltsprache konzipiert wurde.
Warum 2016 eine Doku so aussehen muß als sei sie mit einer
Reiseschreibmaschine von 1920 geschrieben wird auch auf ewig Dein
Geheimniss bleiben.
Der redundanzfreie Josef hat wieder zugeschlagen ;-)
Aber trotzdem: Da steckt ein Stück weit Arbeit drin, ich hoffe, die
Seite wird Deinem Projekt den richtigen Anschub verpassen.
P.S.: Ein einfaches und ein cooles Beispiel können erhellend und
motivierend wirken.
Nach der Ersetzung der CPU-Befehle SZ.A, AZ.A, LZ.A durch
NA.K, ZO.K, NA.A bin ich nicht mehr sicher, ob die Zuordnung
zwischen Befehlen und OpCodes im Bereich e0 .. ff optimal ist.
Vielleicht wird es da nochmal eine Änderung geben.
Falls also tatsächlich jemand Software für die CPU schreiben
sollte, so möge er sorgfältig dokumentieren, welche Bereiche
des fertigen Codes tatsächlich Programmcode enthalten und
welche Bereiche stattdessen aus Tabellen von Zeigern oder
Daten bestehen. Dann kann er im Programmcode nachträglich
leicht per Ersetzungsprogramm die Opcodes austauschen.
Josef G. schrieb:> Falls also tatsächlich jemand Software für die CPU schreiben> sollte
Wann erwacht er aus dem Traum
den er sosehr mag,
tut endlich mal etwas praktisches baun,
nutzt sinnvoll seinen Tag.
Josef G. schrieb:> Nach der Ersetzung der CPU-Befehle SZ.A, AZ.A, LZ.A durch> NA.K, ZO.K, NA.A bin ich nicht mehr sicher,>> Falls also ... jemand Software für die CPU schreiben sollte,
Bin noch unsicherer geworden über die CPU-Änderung.
Bin zur Zeit am überlegen, anstelle von NA.K und NA.A
die Befehle SZ.A und AZ.A wieder einzuführen und lediglich
die Ersetzung von LZ.A durch ZO.K beizubehalten.
Bitte also NA.K und NA.A vorerst nicht verwenden.
Sorry wegen des Hin-und-Her. Aber da ohnehin
offenbar niemand die CPU zu verwendet ...
Josef G. schrieb:> Bin noch unsicherer geworden über die CPU-Änderung.> Bin zur Zeit am überlegen, anstelle von NA.K und NA.A> die Befehle SZ.A und AZ.A wieder einzuführen und lediglich> die Ersetzung von LZ.A durch ZO.K beizubehalten.
Ich schlage stattdessen WE.G, DA.M, I.T vor. Das passt besser.
> Bitte also NA.K und NA.A vorerst nicht verwenden.> Sorry wegen des Hin-und-Her. Aber da ohnehin> offenbar niemand die CPU zu verwendet ...
Eben, Du kannst auch EX.U ND.H O.PP verwenden, das merkt keine Sau.
EDIT:
Upps, meinte OP.P statt O.PP. Sorry!
Josef G. schrieb:> Aber da ohnehin> offenbar niemand die CPU verwendet ...
Gratuliere, Josef!
Damit hast Du Dich der Realität nach exakt 512 Posts nun maximal
angenähert.
In einem zweiten Schritt wären daraus nun nur noch die richtigen
Konsequenzen zu ziehen!
Kannst Du hier und heute schonmal einen ungefähren Ausblick geben,
wievieler weiterer Kommentare es dazu noch bedarf? Danke!
Josef G. schrieb:> Bin zur Zeit am überlegen, anstelle von NA.K und NA.A> die Befehle SZ.A und AZ.A wieder einzuführen
Nein. Viel dringender wird
SE.LF.DES.TRUC.TI.ON
gebraucht.
Dann bitte 1x ablaufen lassen...
Frank M. schrieb:> Syntax Error
Gewiss. Gleiches ließe sich auch durch die zusammengesetzte Inkarnation
SE.L FD.E ST.R UC.T IO.N (bitte in dieser Reihenfolge) realisieren. Ich
bin allerdings der Meinung, daß es die herausragend wichtige
Funktionalität allemal wert ist, als ein CISC Befehl mit gesonderter,
eindeutiger Syntax in der FPGA-CPU realisiert zu werden...
Josef G. schrieb:> die Befehle SZ.A und AZ.A wieder einzuführen
Ich sollte vielleicht noch nachtragen:
SZ.A : Subtrahiere Zero mit Carry,
AZ.A : Addiere Zero mit Carry
Josef G. schrieb:> Ich sollte vielleicht noch nachtragen:
Richtig. Gut so. Es darf keinerlei Zweifel daran aufkommen, daß Du (mal
vorerst) keine unangenehmen Schlussfolgerungen aus Deiner heutigen
Eingebung (die CPU nutzt ja eh keiner) ziehen wirst.
Hätte ja gerne mal den Emulator getestet, hab aber keine Lust, mir den
selbst zu kompilieren, wenn ich den Sourcetree nicht komplett in nem
Archiv runterladen kann.
Du müsstest das Projekt bitte besser dokumentieren und auch Binaries für
Windows und Linux bereitstellen.
Hab schon mit sehr komplexer Software zu tun gehabt (Arbeite an der
Unterstützung von Sparc-Prozessoren für Linux), aber dein Projekt ist
mir ne Nummer zu hoch :(
Habe aber auf jeden Fall Respekt vor deiner Arbeit. Eine CPU zu
entwerfen ist eine große Leistung, daran habe ich mich noch nie wirklich
rangewagt...
Eigentlich könntest du ja deine CPU so gestalten, dass sie je nach
Microcode sich wie eine bekannte CPU verhält (in deinem Fall wären Z80,
8008, 8080, 6502 usw).
Es gab ja mal die Firma Transmeta, die sowas entwickelt hatte, schade,
dass da nichts neues mehr kommt.
Josef G. schrieb:> Bin zur Zeit am überlegen, anstelle von NA.K und NA.A> die Befehle SZ.A und AZ.A wieder einzuführen und lediglich> die Ersetzung von LZ.A durch ZO.K beizubehalten.
Habe das nun so gemacht. Die Mnemonics AZ.A und SZ.A
habe ich dabei ersetzt durch IV.A und DV.A, das steht
für Inkrementiere und Dekrementiere mit Carry V.
Ausserdem habe ich die Befehle neu angeordnet. Dadurch wurden
die Logiknetze zur Berechnung der internen Steuersignale
ein wenig einfacher. Und ich meine, der Befehlssatz
sieht jetzt aufgeräumter aus.
http://www.mikrocontroller.net/articles/8bit-CPU:_bo8
Informatiker schrieb:> Hätte ja gerne mal den Emulator getestet, hab aber keine Lust, mir den> selbst zu kompilieren, wenn ich den Sourcetree nicht komplett in nem> Archiv runterladen kann.
Das Emulationsprogramm testet nur die Software, nicht den
inneren Aufbau der CPU. Der Quelltext besteht lediglich aus
der Datei emul.c, man muss nur emul.c.txt.zip herunterladen
und dekomprimieren und das Suffix .txt entfernen.
Das Compilieren erfolgt mittels
gcc -o emul emul.c -L/usr/X11R6/lib -lX11
Beim Starten des Programms emul mittels ./emul muss
die Textdatei coka im aktuellen Verzeichnis stehen,
man muss dazu coka.txt.zip herunterladen und
dekomprimieren und das Suffix .txt entfernen.
Optional kann auch noch die Textdatei teca vorhanden sein, welche
man in gleicher Weise aus teca.txt.zip erhält. Dann steht die
Software der erweiterten Test-Steckkarte zur Verfügung.
Man hat also insgesamt 3 Dateien herunterzuladen. Ich meine,
das ist zumutbar. Allerdings kommen noch die Beispieldateien
emtext_* hinzu, falls man sie verwenden will.
Ein größeres Problem wird ohnehin die Gewöhnung an die
Tastaturbelegung sein, welche auf der Seite Emul meiner
Website beschrieben ist.
Für ein erstes schnelles Erfolgserlebnis tippe man nach dem
Starten des Emulationsprogramms: 61.demo - Enter
Josef G. schrieb:> Beim Starten des Programms emul mittels ./emul *muss*> die Textdatei coka im aktuellen Verzeichnis stehen
was liegt da auch naeher als es separat zu verpacken?
> man muss dazu coka.txt.zip herunterladen und> dekomprimieren und das Suffix .txt entfernen
warum haengst du immer noch txt an, wenn man es sowieso wieder entfernen
muss? Mit so einer Gaengelei vertreibst du doch noch die letzten
Menschen die sich dafuer interessieren koennten...
>Mit so einer Gaengelei vertreibst du doch noch die letzten>Menschen die sich dafuer interessieren koennten...
Whaaaaaa - und durch solche Posts holst Du diesen nervigen Thread immer
wieder an's Tageslicht. Ich sterb deswegen bald.
Christopher B. schrieb:> was liegt da auch naeher als es separat zu verpacken?
Man sieht bereits auf der Website vor dem Herunterladen,
um was es sich handelt, und nicht erst nach dem Entpacken.
Und es gab immer wieder neue Versionen einzelner Dateien.
Wer sich auf der Seite Downloads die Datumsangaben ansieht,
braucht nur jeweils die neuen Dateien herunterladen.
Das Herunterladen dauert nur Sekundenbruchteile. Es kann
doch nicht so schlimm sein, wenn man zweimal klicken muss.
> warum haengst du immer noch txt an,
Jeder sieht bereits vor dem Herunterladen, dass es Textdateien
sind. Und ich kann sicher sein, dass das Archivierungsprogramm
die Dateien als Textdateien erkennt und als solche komprimiert,
und nicht irgendwelche Verfahren für spezielle Dateiformate
anwendet, wo es dann vielleicht beim Entpacken auf
anderen Rechnern Inkompatibilitäten gibt.
Ich kann es ja verstehen das du nicht ein großes ZIP-Archiv machen
willst, damit du Updates einzelner Dateien einfacher anbieten kannst,
aber alles andere macht doch wenig Sinn.
Josef G. schrieb:> Das Herunterladen dauert nur Sekundenbruchteile. Es kann> doch nicht so schlimm sein, wenn man zweimal klicken muss.
Richtig, und es würde auch nur Sekundenbruchteile dauern wenn die
Dateien nicht gepackt sind ;) Die C-Dateien sind nur wenige kB groß, da
kann man sich das archivieren wirklich sparen, weil das entpacken macht
viel mehr Arbeit wir der Zeitgewinn im Millisekunden-Bereich durch die
minimalen Größen-Ersparnisse (auch wenn sie relativ Betrachtet wohl groß
erscheinen mögen).
Ein Vorteil wenn die Dateien nicht gepackt wären wäre auch, das man sich
den Code direkt im Browser schon ansehen könnte. Und nur dadurch das die
Dateien gepackt sind weiß ich ja nicht wirklich genau was ich mir
herunterlade, erst wenn ich es entpackt habe ;)
Auch das du .txt an die Dateien anhängst macht so keinen Sinn. Zum einen
wird standardmäßig unter Windows bekannte Dateierweiterungen
ausgeblendet, das umbenennen macht dann wieder zusätzlichen Aufwand.
Auch brauchst du keine Sorge vor "dateispezifischen inkompatiblen
Optimierungen" zu haben bei Archiven, das kann (zumindest bei den mir
bekannten Verfahren) nicht geben, wobei das Archivieren einer einzigen
weniger kB-großen Dateien an sich schon unsinnig ist.
Von daher, wenn einer sich deine Dateien laden will braucht er nicht nur
die wenige Sekunden zum anklicken der Dateien, sondern muss diese
nochmals entpacken und dann noch vermutlich googlen wie er bekannte
Dateierweiterungen unter Windows anzeigt um diese dann umzubenennen. Und
spätestens dann denkt man wer sowas macht kann nichts ordentliches
fabrizieren und schon hat man keine Lust mehr auf dein Projekt :(
informatiker schrieb:> da kann man sich das archivieren wirklich sparen,> weil das entpacken macht viel mehr Arbeit>> Ein Vorteil wenn die Dateien nicht gepackt wären wäre auch,> das man sich den Code direkt im Browser schon ansehen könnte.
Das Archivieren habe ich gemacht, um das Downloaden zu erzwingen.
Andernfalls würden die Dateien direkt angezeigt und man müsste den
Browser dazu bringen, sie zu sichern. Das Entpacken geschieht bei
meinem Apple durch einfaches Anklicken. Von Windows habe ich null
Ahnung. Den Apple habe ich für's Internet, zum Arbeiten verwende
ich Linux. Das Emulationsprogramm funktioniert nur unter Linux.
> Auch das du .txt an die Dateien anhängst macht so keinen Sinn.
Das Anhängen von .txt habe ich gemacht, weil mein Apple .vhd nicht
kennt und die Dateien als unbekannte Programme anzeigt. Dasselbe
gilt für die Dateien coka und teca ohne Suffix. Bei .c wäre es nicht
notwendig, aber ich habe es gemacht, damit alles einheitlich ist.
Josef G. schrieb:> Das Archivieren habe ich gemacht, um das Downloaden zu erzwingen.
Du kannst den Download einfacher erzwingen. z.B. indem du einfach:
<a type="application/octet-stream" hre....
in den Link einfügst. Einfach mal kurz googlen da gibt es mehrere
Lösungen für.
Allgemein ist es kein Problem eine offene Datei im Browser zu speichern,
einfach kurz Strg+S sollte überall klappen, sowohl auf Windows wie auch
unter Linux/Mac. Unter Windwos dürfte das immer noch vielfach schneller
sein wie ein Archiv zu entpacken ;)
Josef G. schrieb:> Das Entpacken geschieht bei> meinem Apple durch einfaches Anklicken. Von Windows habe ich null> Ahnung.
Okay dann sind wir in verschieden Welten unterwegs zum Mac kann ich
nichts sagen.
Josef G. schrieb:> Das Anhängen von .txt habe ich gemacht, weil mein Apple .vhd nicht> kennt und die Dateien als unbekannte Programme anzeigt. Dasselbe> gilt für die Dateien coka und teca ohne Suffix. Bei .c wäre es nicht> notwendig, aber ich habe es gemacht, damit alles einheitlich ist.
Verständlich, aber vermutlich ist es trotzdem besser das .txt
wegzulassen. Wenn Windows eine Dateierweiterung nicht kennt wird
nachgefragt womit "versucht" werden soll die Datei zu öffnen. Entweder
verknüpft man dann die Datei mit dem korrekten Programm oder öffnet sie
mit einem Editor seiner Wahl.
Bei bekannten Dateierweiterungen blendet Windows jedoch standardmäßig
die Erweiterung aus (Änderung der Erweiterung nicht mehr einfach
möglich) und öffnet im Falle von .txt alles mit dem hauseigenen
(unbrauchbaren) Windows-Editor, was man nicht unbedingt möchte.
Josef G. schrieb:> Falls also tatsächlich jemand Software für die CPU schreiben> sollte, so möge er sorgfältig dokumentieren, welche Bereiche> des fertigen Codes tatsächlich Programmcode enthalten und> welche Bereiche stattdessen aus Tabellen von Zeigern oder> Daten bestehen. Dann kann er im Programmcode nachträglich> leicht per Ersetzungsprogramm die Opcodes austauschen.
Die Aussage bleibt weiter gültig. Nach der letzten CPU-Änderung
habe ich leider nochmal Zuordnungen zwischen Befehlen und OpCodes
gefunden, welche ich ändern sollte, weil sich dann Vereinfachungen
der Logiknetze zur Berechnung der internen Steuersignale ergeben.
Und zwar sollten SW.X mit ZO.X, SW.Y mit ZO.Y, SW.Z mit ZO.Z
getauscht werden. Ich möchte dies jedoch vorerst nicht tun,
vielleicht ergeben sich noch weitere Vertauschungen.
push
Wann wird jetzt endlich x86 durch die von Josef entwickelte Architektur
ersetzt?
x86 ist doch zum heutigen Zeitpunkt im Vergleich zu Josefs Architektur
Steinzeit.
@Scherge von Josef (Gast)
>Wann wird jetzt endlich x86 durch die von Josef entwickelte Architektur>ersetzt?
An dem Tag, an dem die Hölle gefriert.
>x86 ist doch zum heutigen Zeitpunkt im Vergleich zu Josefs Architektur>Steinzeit.
Naja, Josefs Werk ist dem Dadaismus näher als der Boolschen Algebra . .
. ;-)
https://de.wikipedia.org/wiki/Dadaismus
In der Tat sehe auch ich großes Potential für diese CPU.
Wenn er jetzt noch Linux darauf portiert, wird er bald Marktführer im
Bereich der CPU-Architekturen sein. Nur Transmeta hatte ansatzweise
ähnlich gute Konzepte.
Informatiker schrieb:> Wenn er> jetzt noch Linux darauf portiert
Warum so kleine Brötchen backen?
Josefs Ausdauer langt doch locker für eine Windows-Inkarnation. Lässt
sich alles durch Vereinfachungen der Logiknetze zur Berechnung der
internen Steuersignale ermöglichen. Diverse Instruktionen für Multimedia
werden auch bald nachgereicht. Geduld bitte !
Ist trotzdem recht sinnlos. Warum sollte man Hardware für closed Source
Systeme entwickeln?
Windows ist schlicht und einfach eine Randerscheinung der Informatik.
Andreas S. schrieb:>> s\Murmeltier\Multimeter>> Falsch. Korrekt wäre:> s/Murmeltier/Multimeter/
Kiddies, ihr habt beide recht, denn das erste Zeichen nach dem 's'
bestimmt den delimiter. Neben slash und backslash wird auch colon und
pipe verwendet.
http://www.grymoire.com/Unix/Sed.html#uh-2
Nachdem das geklärt ist, könnt ihr ja was zur Sache schreiben. Außer
Eurer Detailwissen reicht wie beim sed über oberflächliche Kenntnisse
nicht hinaus.
SCNR
Nils S. schrieb:> Andreas, das stimmt so aber nicht. Mein sed arbeitet anders herum.
Dein sed benötigt aber mit Sicherheit auch den abschließenden "\" bzw.
"/".
Hin und wieder lese ich diesen Thread mit Spannung, was so Neues
passiert.
Bewundernswert finde ich den Gleichmut von Joseph und die Konsequenz wie
er sich auf die Mobing-artigen Kommentare der ganzen Besserwisser hier
überhaupt nicht einlässt.
Ich finde jeder sollte seine Ideen präsentieren dürfen. Wenn es
qualifizierte Gegenargumente für die ein oder andere Idee gibt, können
diese zivilisiert vorgebracht werden.
Die Leute hier, die das Joseph Mobbing betreiben, verachte ich zutiefst.
[...]
Marc schrieb:> Ich finde jeder sollte seine Ideen präsentieren dürfen.
Soweit richtig.
> Wenn es qualifizierte Gegenargumente für die ein oder andere Idee gibt,> können diese zivilisiert vorgebracht werden.
Das wurde ja hier auch getan. Wenn freilich die kritischen Argumente
vollkommen ignoriert werden, wie soll es dann Deiner Meinung nach
weitergehen?
Marc schrieb:> Bewundernswert finde ich den Gleichmut von Joseph und die Konsequenz wie> er sich auf die Mobing-artigen Kommentare der ganzen Besserwisser hier> überhaupt nicht einlässt.
Das ist nicht Gleichmut. Joseph ist nur merkbefreit.
(https://de.wikipedia.org/wiki/Merkbefreiung)
Sein Projekt ist ist in etwa mit einem Auto mit viereckigen Rädern
vergleichbar. Mit Gewalt fährt es, aber kein Mensch würde es so
konstruieren oder könnte etwas damit anfangen.
Marc schrieb:> Wenn es> qualifizierte Gegenargumente für die ein oder andere Idee gibt, können> diese zivilisiert vorgebracht werden.
Hast du den Thread mal von Anfang an durchgelesen? Gegenargumente wurden
tausendfach vorgebracht und von Joseph geflissentlich ignoriert. Da ist
es doch kein Wunder, wenn mittlerweile fast nur noch sarkastische
Bemerkungen zu seinem Projekt kommen.
Marc schrieb:> Die Leute hier, die das Joseph Mobbing betreiben, verachte ich zutiefst.
Das ist nicht Mobbing, das ist Selbstschutz.
Anonymous User schrieb:> Das ist nicht Gleichmut. Joseph ist nur merkbefreit.> (https://de.wikipedia.org/wiki/Merkbefreiung)
Das ist kein "zivilisiert vorgetragenenes Gegenargument" sondern eine
Beleidigung insbes. Schmähkritik:
https://de.wikipedia.org/wiki/Beleidigung_%28Deutschland%29#Wahrnehmung_berechtigter_Interessen
da eine inhaltliche Auseinandersetzung komplett fehlt.
> Sein Projekt ist ist in etwa mit einem Auto mit viereckigen Rädern> vergleichbar. Mit Gewalt fährt es, aber kein Mensch würde es so> konstruieren oder könnte etwas damit anfangen.
Joseph ist ein mensch und zum Studieren von alternativen
Implementierungen und Architekturvarianten ist sowas immer gut.
Ausserdem wurde es mehrfach von weiteren Forumslesern auf ihren Boards
adaptiert.
> Marc schrieb:>> Wenn es>> qualifizierte Gegenargumente für die ein oder andere Idee gibt, können>> diese zivilisiert vorgebracht werden.>> Hast du den Thread mal von Anfang an durchgelesen? Gegenargumente wurden> tausendfach vorgebracht und von Joseph geflissentlich ignoriert. Da ist> es doch kein Wunder, wenn mittlerweile fast nur noch sarkastische> Bemerkungen zu seinem Projekt kommen.
Jeder hat das Recht sein Projekt so zu realisieren wie er es für nötig
hält. Die Sourcen sind frei zugänglich, wer dazu in der Lage ist kann
sie nach seinem Wünschen anpassen. Es gibt leute die heute noch mit
Röhren basteln oder 8bit Computer aufbauen und meinetwegen auch
viereckige Räder. Warum nicht?! Wenn Du damit nicht klar kommst sucht
Dir doch ein Projekt nach deinen Regeln.
> Marc schrieb:>> Die Leute hier, die das Joseph Mobbing betreiben, verachte ich zutiefst.>> Das ist nicht Mobbing, das ist Selbstschutz.
Ich teile Marc's Auffassung, das was hier den Thread beherrscht ist
Mobbing. Wer sich dabei auf "Selbstschutz" beruft ist m.E. ein A*h.
MfG,
PS:
Falk B. schrieb:> Naja, Josefs Werk ist dem Dadaismus näher als der Boolschen Algebra . .> . ;-)
Oder mit anderen Worten: Auch dieses Werk ist Kunst.
Fpga K. schrieb:> Das ist kein "zivilisiert vorgetragenenes Gegenargument" sondern eine> Beleidigung insbes. Schmähkritik:
Seit Böhmermann scheint es wohl Mode zu werden bei jeder Kleinigkeit
gleich "Beleidigung" zu schreien und nach dem Staatsanwalt zu rufen.
Fpga K. schrieb:> Oder mit anderen Worten: Auch dieses Werk ist Kunst.
Da gebe ich dir sogar Recht. Kunst existiert um ihrer selbst willen; sie
muss keinen Zweck erfüllen. Nur sieht Josehp sein Projekt nicht als
Kunst, sondern als Lösung aller jemals existierenden Computerprobleme.
Seine Lösung ist die einzig Wahre und es ist ihm völlig unverständlich,
warum seine Lösung von allen verkannt wird. So kommt es zumindest bei
mir und scheinbar auch bei vielen anderen rüber. Es ist ein bisschen so
wie bei dem Mann auf der Autobahn: Als es im Radio hört das ein
Geisterfahrer unterwegs ist schaut er nur verwundert aus dem Fenster und
sagt: "Einer? Hunderte?".
Darum:
Josephs Projekt als Kunst? Gerne. Als alles andere: Nein, danke.
-------------------
Die Frage überrascht mich sehr.
Hast du tatsächlich Software für die CPU geschrieben?
Oder ist die Frage doch nur theoretisch gemeint im Sinne von
"Mal angenommen, es hätte jemand bereits Software geschrieben ..."?
-------------------
Was soll denn diese scheiß Antwort auf eine vernünftige Frage?
Ich glaube du hast nicht mehr alle Drähte in deinem Kopf am richtigen
Platz.
Kannst du nicht vernünftig die Frage beantworten?
Blöder Schuljunge.
Man...man..
Mark B. schrieb:> Wenn freilich die kritischen Argumente vollkommen ignoriert werden,
Wo sind die sachlichen kritischen Argumente, welche
ich ignoriert habe? Kannst du mal ein solches zitieren?
Joe G. schrieb:> Was für eine wundervolle Welt muss das sein!
Nun, der Punkt mit den Standards ist ja der, dass sich Vieles im Laufe
der Zeit durch try and error als Machbar oder Nichtmachbar
herausgestellt hat und damit die Methoden und Bezeichnungen eine gewisse
Evolution durchlaufen haben.
Und vieles ist eben ausgereift und kann nicht mehr weiter verbessert
werden.
Und wenn man 8bit computing machen will, sollte man die Standards so
anwenden, wie sie in den 80ern galten. Das betrifft Zeichensätzen,
farben und auch Bezeichner.
Ob die Prozessorregister jetzt Sondernamen haben oder nicht, sollte aber
nicht der Punkt sein.
Prozessoren heissen ja auch Skylake und so ...
Josef G. schrieb:> Mark B. schrieb:>> Wenn freilich die kritischen Argumente vollkommen ignoriert werden,>> Wo sind die sachlichen kritischen Argumente, welche> ich ignoriert habe? Kannst du mal ein solches zitieren?
Zum Beispiel wurden sowohl Dein C-Code als auch die Qualität Deiner
Dokumentation kritisiert. Es sieht für mich so aus, als ob Du beides
nicht zum Anlass genommen hast, entsprechende Verbesserungen in den
Quelltexten bzw. in der Dokumentation durchzuführen.
Josef G. schrieb:> Wo sind die sachlichen kritischen Argumente, welche> ich ignoriert habe? Kannst du mal ein solches zitieren?
Du bist zwar auf die allermeisten dieser kritischen Argumente
eingegangen und hast Dich jeweils für Deine Architekturentscheidungen
rechtfertigt. Immerhin hast Du eingeräumt, eine mögliche
Interruptbehandlung nicht bedacht zu haben.
Aus meinem Einwand gegen die die Bankumschaltung führst Du zu kleine
Adressräume anderer Prozessoren an. Statt jedoch den korrekten Schluss
daraus zu ziehen, den Adressraum Deines Prozessors hinreichend groß zu
wählen, denkst Du Dir: "Wenn schon falsch, dann aber gleich richtig
falsch!"
Auf die wirklich ganz großen Kritikpunkte, die hier von mehreren
Diskussionsteilnehmer eingebracht wurden, bist Du bislang jedoch in
keiner Weise eingegangen, die der Eindruck erweckt, dass Du sie
irgendwie beherzigen würdest.
Eigentlich wäre doch jetzt der richtige Zeitpunkt gekommen, an dem Du
Deine Erfahrungen in Sachen Prozessorentwurf, die hier aufgeführten
Kritiken und Anmerkungen sowie den aktuellen Stand der Technik
zusammenführen und noch einmal ganz von vorne einen neuen Prozessor
entwerfen könntest. Und zwar ohne auch nur eine einzige Zeile des alten
Entwurfs wiederverwenden zu wollen.
In solche Überlegungen sollte natürlich nicht nur der Prozessorkern
einfließen, sondern auch noch das "Ökosystem" rund um den Prozessor,
d.h. Peripherie und vor allem auch die Softwareumgebungen auf Host und
Zielsystem. Schaue Dir ggf. auch fremde Simulationsumgebungen für
Prozessorarchitekturen und deren Umsetzungen an.
Mark B. schrieb:> Zum Beispiel wurden sowohl Dein C-Code
Nein. Wo?
> als auch die Qualität Deiner Dokumentation kritisiert.
Ist richtig. Ich bin aber sehr wohl darauf eingegangen.
Beitrag "Re: 8bit-Computing mit FPGA"
Siehe auch den folgenden Beitrag von A.K.
Demnach ist das Problem offensichtlich nicht die Dokumentation,
sondern die fehlende Bereitschaft anderer, sie zu lesen.
Josef G. schrieb:> Demnach ist das Problem offensichtlich nicht die Dokumentation,> sondern die fehlende Bereitschaft anderer, sie zu lesen.
Deine Dokumentation ist so schlecht (=ungeeignet für Dritte), dass sich
kaum jemand die Mühe macht, sie zu lesen. Das ist etwas komplett anderes
als mangelnde Bereitschaft.
Du antwortest in der Tat auf Kritik, gehst aber nicht auf sie ein.
Josef G. schrieb:> Demnach ist das Problem offensichtlich nicht die Dokumentation,> sondern die fehlende Bereitschaft anderer, sie zu lesen.
Der Wurm muss eben dem Fisch schmecken, nicht dem Angler. ;-)
Josef G. schrieb:> Mark B. schrieb:>> Zum Beispiel wurden sowohl Dein C-Code>> Nein. Wo?
Zum Beispiel hier:
Beitrag "Re: 8bit-Computing mit FPGA">> als auch die Qualität Deiner Dokumentation kritisiert.>> Ist richtig. Ich bin aber sehr wohl darauf eingegangen.> Beitrag "Re: 8bit-Computing mit FPGA"> Siehe auch den folgenden Beitrag von A.K.> Demnach ist das Problem offensichtlich nicht die Dokumentation,> sondern die fehlende Bereitschaft anderer, sie zu lesen.
Dokumentation ist dann gut, wenn die Kunden sie verstehen und gut
finden.
Josef G. schrieb:> Positive Eigenschaften der historischen 8bit-Heimcomputer sind:> Man kann sie auch ohne langes Studium vollständig verstehen.
Kann man das wirklich? Mal ne Hauptplatine eines VC 20 aufgemacht?
Verstanden wurde da nur die oberflächliche Funktion. So wie heute bei
den Smartphones.
{quote}
Kann man das wirklich? Mal ne Hauptplatine eines VC 20 aufgemacht?
Verstanden wurde da nur die oberflächliche Funktion. So wie heute bei
den Smartphones.
{quote}
Das habe ich mich auch schon oft gefragt... ich denke das ist eine Frage
der Verständnis- bzw. Betrachtungsebene.
Die Architektur vom VC 20 ist schon einfacher als von einem moderneren
Gerät - weniger Bau- / Funktionsgruppen (beim Smartphone sind die
Funktionsgruppen auf dem SoC, während beim VC 20 noch diskrete ICs auf
der Platine sind). Der Schaltplan vom VC 20 ist ja auch im Netz zu
finden, und nicht übermäßig komplex. Auf dieser (groben) Ebene also
schon irgendwie "qualitativ" verständlich, und wahrscheinlich einfacher
als ein Smartphone.
Ich stimme zu, dass selbst beim VC 20 die komplexeren Chips (6502, VIC,
...) nur funktional, also ihr IO- und Timing-Verhalten, verständlich
sind. Aber will man denn heutzutage - oder selbst damals ? - Chips auf
detailierteren Ebenen noch verstehen müssen? Abstraktion ist schon
erforderlich - irgendwie muss man die Komplexität ja auch beherrschen.
Hardwarebeschreibungssprachen und Simulationen sind heutzutage wohl
unerlässlich - anders damals, als die Layouts von Chips noch mit
Buntstiften auf Papier gemalt wurden, und der Designer die Funktion
jedes Transistors verstehen musste. Das skaliert natürlich nicht.
Zumindest scheint es so zu sein, dass es wesentlich mehr Hobbybastler
gibt, die sich ihren eigenen 8bitter bauen, als Smartphone-Bastler ;-)
https://hackaday.io/list/2402-homebrew-computers
TTL- und Transistor-Computer gibt's da auch, aber nicht so viele. Das
scheint schon auch irgendwie dafür zu sprechen, das 8bitter "einfacher"
sind.
Ich schwärme immer noch für den NDR-Klein-Computer und die
Fernsehsendungen damals... Homebrew Computing pur! Letztlich es es von
diesem hervorragenden Klassiker / Buch von Steve Ciarcia "Build Your Own
Z80 Computer" zu Systemen wie dem NDR-Klein-Computer aber auch kein soo
großer Schritt mehr.
Nun, bin kein Hardware-Experte... just my two cents :-)
@ Josef - vielleicht ist https://hackaday.io/ ja auch eine gute
Community, um Dein System zu präsentieren?
1965er schrieb:> Josef G. schrieb:>> Positive Eigenschaften der historischen 8bit-Heimcomputer sind:>> Man kann sie auch ohne langes Studium vollständig verstehen.>> Kann man das wirklich? Mal ne Hauptplatine eines VC 20 aufgemacht?> Verstanden wurde da nur die oberflächliche Funktion. So wie heute bei> den Smartphones.
Klar, Homecomputer sind kein Hexenwerk, siehe
Retrocomputing auf FPGA.
MfG,
Hallo Josef,
könntest Du zum einfacheren Verständnis für mich hier ein kleines
Programm in Assembler posten?
Es soll die Ziffern von 0 bis 9 auf dem Bildschirm ausgeben.
Die Routine ist als EXE-Routine geschrieben, welche aus der
Kommandozeile oder aus einem Programm aufgerufen werden kann.
Die beiden 2-Byte-Werte 0000 am Anfang bedeuten, dass die EXE-
Routine keine angehängte Data-Box und keine Initialisierungs-
Routine enthält. Übergebene Parameter werden ignoriert.
Danke. Das sieht übersichtlich aus, nur die Befehle sind etwas
ungewohnt.
Die Prozessorstruktur wird langsam klarer.
Wenn ich es richtig sehe, gibt es folgende Register
A: Akku, 8 bit
B: ? 8 bit
X,Y,Z: Index Register für Adressierung, alle 16 bit
Josef G. schrieb:> beric schrieb:>> Warum dann nicht einfach "AD_X" oder "J__" ...>> Der auf der Grundlinie liegende Bindestrich ist kein Unterstrich.> Dieses Zeichen habe ich in meinem Zeichensatz neu eingeführt.>> Den Unterstrich als Bindestrich zu verwenden finde ich hässlich,> ausserdem hat es den Nachteil, dass man Strings, in welchen der> Unterstrich als Bindestrich verwendet wird, nicht ohne> Informationsverlust unterstreichen kann.
Passend hierzu habe ich heute folgendes gefunden,
ist interessant auch wegen des Autors:
Beitrag "Re: "Guter Programmierstil" VHDL"> ich kann Unterstriche im Quelltext nicht ausstehen.
Marc schrieb:> Wenn ich es richtig sehe, gibt es folgende Register>> A: Akku, 8 bit> B: ? 8 bit>> X,Y,Z: Index Register für Adressierung, alle 16 bit
Ein Zähl- bzw. Schleifenregister (S? SL?) unbekannter Bitbreite gibt es
auch noch:
Josef G. schrieb:> = GT. 09 initialisiere Schleifenzähler> = SL.S ...
Jens
Jens schrieb:> Ein Zähl- bzw. Schleifenregister (S? SL?) unbekannter Bitbreite ...>> Josef G. schrieb:>> = GT. 09 initialisiere Schleifenzähler>> = SL.S ...
Der Schleifenzähler S ist 16 bit breit.
1
GT. 09 lädt den Wert 09 in den Akku
2
SL.S speichert den Akku im LowByte von S,
3
das HighByte von S wird Null.
Die Breite des Schleifenzählers ergibt sich aus der Pseudo-Grafik
auf der Seite CPU-doku meiner Website oder im Artikel zur CPU:
DA DA DA
DA DA DA
DA DA DA
Ich versteh dich nicht, du verstehst es nicht, aha
Ich versteh dich nicht, du verstehst es nicht, aha
Ich versteh dich nicht, du verstehst es nicht, aha
Ich versteh dich nicht, du verstehst es nicht, aha
DA DA DA
DA DA DA
DA DA DA
>DA DA DA>Ich versteh dich nicht
Das ist im akademischen Bereich und in der Kunst oft auch so.
Da Verständnis aber immer auch was mit dem eigenen Wissen und der
Aufnahmefähigkeit zu tun hat, ist es besser zu schweigen, sonst kann
leicht die eigene Dummheit offenbar werden.
>...und in der Kunst oft auch so.>.. ist es besser zu schweigen, sonst kann leicht die eigene Dummheit offenbar
werden.
Wenn Du schon diesen Vergleich ziehst: https://youtu.be/RAx0P-8n5K4
Josef G. schrieb:> Die Breite des Schleifenzählers ergibt sich aus der Pseudo-Grafik> auf der Seite CPU-doku meiner Website oder im Artikel zur CPU:> P Q R S X Y Z K V Bezeichnung: A7 = U> | | | | | | | |A AB = K> | | | | | | | |B
Naja, sehr übersichtlich ist das ja nicht und in der Pseudografik über
diesen Zeilen kann ich gar nicht auf eine Breite schliessen. Anhand von
was denn, von acht "|"?
>> SL.S ist weiter unten auf der Seite erklärt:> $ stehe für S|X|Y|Z>> SL.$ $ LowByte erhält A , $ HighByte wird 0
Auch wenn Low- und High-Byte zu einem 16bit Wert passt, ist das nicht so
ganz offensichtlich, dass es sich auch um einn solchen handelt. Und zu
finden ist das schonmal gar nicht, wenn man nicht weiss, nach was man
sucht.
Nils S. schrieb:> in der Pseudografik über diesen Zeilen kann> ich gar nicht auf eine Breite schliessen.
Jedenfalls erkennt man, dass P, Q, R, S, X, Y, Z, K
gleich breit sind. Jedes | soll 1 Byte symbolisieren.
Das steht zwar nicht explizit da, sollte aber auch
klar sein, weil einer der Striche mit A bezeichnet
ist. Und weiter unten werden die Adressleitungen
mit a0 .. af bezeichnet, daraus ergibt sich die
Breite der Adressregister.
Entschuldigt meine dumme Frage, aber ist das hier Satire wie der Crypto
Chef, der CPU Chef sozusagen, oder ist das mit der CPU ernstgemeint?
Drei Jahre so eine Satire durchzuziehen ist schon ziemlich gut.
... schrieb:> ist das hier Satire wie der Crypto Chef
Die Website vom Kryptochef gibt es leider nicht mehr. Allein schon für
die Wortschöpfung "Vollbitverschlüsselung" habe ich sie geliebt ;-)
... schrieb:> Drei Jahre so eine Satire durchzuziehen ist schon ziemlich gut.
Bei Kurt sind es schon weit mehr als 3 Jahre und die Frage steht immer
noch im Raum.
Wegen der weiten Verbreitung des DE0-nano habe ich den
Rechner nun auch auf diesem Board realisiert. Vielleicht
entschließt sich ja doch einer der vielen Besitzer des
Boards, die Konfiguration darauf zu testen.
Die VGA-Schnittstelle besteht aus einer Sub-D-Buchse und
5 Widerständen, die übrige fehlende Peripherie habe ich
mit Pmod-Modulen von Digilent realisiert.
Zur Entlastung des USB-Anschlusses habe ich ein 5.4V-Netzgerät
am 2-Pin-Verbinder angeschlossen. Zur Problematik der
Stromversorgung beim DE0-nano siehe auch
Beitrag "De0 nano - Frage zur Stromversorgung"
PS: Ich meine, mal im Forum gelesen zu haben, dass
bei hochgeladenen Fotos mit zu hohem Speicherbedarf
automatisch der Speicherbedarf verringert wird, und
muss darauf hoffen, weil mir auf meinem Rechner die
Verringerung des Speicherbedarfs nicht gelungen ist.
http://www.bomerenzprojekt.de/Website/Hawa.html
Hallo Josef,
ich bin immer wieder erschrocken darüber, wie sehr Du durchaus
fundamentale Kritik an Deinem derzeitigen Prozessor/System ignorierst
und munter auf dem toten Pferd weiterreitest. Die Tatsache, dass sich
kürzlich ein paar Diskutanden inhaltlich mit dem Befehlssatz Deines
Prozessors und den Notationen Deiner Assemblersprache befasst haben,
bedeutet noch lange nicht, dass nun der Zeitpunkt für den Durchbruch
gekommen ist.
Leider bist Du bisher auch nicht auf meinen vor einiger Zeit
eingebrachten Beitrag eingegangen:
Andreas S. schrieb:> Eigentlich wäre doch jetzt der richtige Zeitpunkt gekommen, an dem Du> Deine Erfahrungen in Sachen Prozessorentwurf, die hier aufgeführten> Kritiken und Anmerkungen sowie den aktuellen Stand der Technik> zusammenführen und noch einmal ganz von vorne einen neuen Prozessor> entwerfen könntest. Und zwar ohne auch nur eine einzige Zeile des alten> Entwurfs wiederverwenden zu wollen.>> In solche Überlegungen sollte natürlich nicht nur der Prozessorkern> einfließen, sondern auch noch das "Ökosystem" rund um den Prozessor,> d.h. Peripherie und vor allem auch die Softwareumgebungen auf Host und> Zielsystem. Schaue Dir ggf. auch fremde Simulationsumgebungen für> Prozessorarchitekturen und deren Umsetzungen an.
Und zu Deiner aktuellen Nachricht: Nein, es wird kaum jemanden geben,
der wirklich den Einsatz Deines Prozessors auf dem DE0-nano ernsthaft in
Erwägungg ziehen wird. Vielleicht mag es noch ein oder zwei Leute geben,
die einen kurzen Funktionstest durchführen, um zu überprüfen, ob Dein
System wirklich funktioniert. Mehr aber auch nicht.
Andreas S. schrieb:> Aus meinem Einwand gegen die die Bankumschaltung führst Du zu kleine> Adressräume anderer Prozessoren an. Statt jedoch den korrekten Schluss> daraus zu ziehen, den Adressraum Deines Prozessors hinreichend groß zu
Bei Adressen mit 24 oder 32 Bit wird der Vorteil des linearen
Adressraums erkauft durch den Nachteil des größeren Platzbedarfs
und langsameren Ladens einer Adresse, jedenfalls bei einer 8bit-CPU.
Deshalb glaube ich, dass meine CPU mit ihrer Seitenumschaltung
eine Chance hat, ihre ökologische Nische zu finden, auch und
gerade deshalb, weil die anderen es anders machen.
> Auf die wirklich ganz großen Kritikpunkte, die hier von mehreren> Diskussionsteilnehmer eingebracht wurden, bist Du bislang jedoch in> keiner Weise eingegangen, die der Eindruck erweckt, dass Du sie
Welche sachlichen Kritikpunkte meinst du? Mir fallen keine ein.
@ Andreas Schweigstill (Firma: Schweigstill IT) (schweigstill)
>ich bin immer wieder erschrocken darüber, wie sehr Du durchaus>fundamentale Kritik an Deinem derzeitigen Prozessor/System ignorierst>und munter auf dem toten Pferd weiterreitest.
Immer noch nicht verstanden, was mit Josef los ist?
Beitrag "Re: 8bit-Computing mit FPGA"https://de.wikipedia.org/wiki/Autismus
Josef G. schrieb:> weil mir auf meinem Rechner die> Verringerung des Speicherbedarfs nicht gelungen ist.
Du kannst ein ganzes Rechnersystem entwerfen, aber verzweifelst vor
einer simplen Bildverkleinerung? Ich fürchte, Falk hat Recht mit dem
Autismus...
AnonymousUser schrieb:> Ich fürchte, Falk hat Recht mit dem> Autismus...
Langsam wirds echt übel hier im Thema. Aber wenigstens schreibt er sowas
nicht Anonym.
A. K. schrieb:> Das fängt ganz wesentlich mit der optischen Gestaltung an. Ob dir das> gefällt oder nicht, das ist ein Aspekt unter dem ein Leser sich der> Sache nähert. Die letzte mit Schreibmaschine gesetzte
Da einige Leute offenbar Probleme damit haben, Text in Festbreiten-
Schrift zu lesen, habe ich den Artikel zum Projekt neu formatiert.
http://www.mikrocontroller.net/articles/8bit-Computer:_bo8h
Habe die Implementierung von Conway's Game of Life überarbeitet.
Bisher konnte man nur eines von 8 fest vorgegebenen Startbildern
auswählen. Jetzt wird eines dieser Startbilder aus Textseite E
importiert, man kann es also vorher dort selber erstellen.
Die ersten 64 Zeilen zu je 64 Zeichen ergeben das Startbild mit
64*64 Zellen, jedes nichtleere Zeichen ergibt eine aktive Zelle.
Die Bilder oben sind mit dem Emulationsprogramm erstellt und
zeigen die periodischen Objekte Tümmler und Pulsator. Auf dem
realen Gerät dauert jede Iteration wie bisher 0.27 Sekunden.
Le X. schrieb:> Wo kann ich mir denn den Sourcecode dazu ansehen?
Den habe ich nur handschriftlich auf Papier. Der fertige
Code steht in der Datei teca im Bereich 39c0 .. 405f.
Bin immer wieder mal am Überlegen, einen auf PC laufenden
Zeilen-Disassembler zu schreiben, hab es aber bisher nie
ernsthaft in Angriff genommen. Aber vielleicht nimmt sich
ja jemand anderer der Sache an ...
Josef G. schrieb:> Bin immer wieder mal am Überlegen, einen auf PC laufenden> Zeilen-Disassembler zu schreiben,
Denk' mal besser über einen Zeilen-Assembler nach.
Eddy C. schrieb:> Denk' mal besser über einen Zeilen-Assembler nach.
Einen Assembler gibt es schon, sogar einen "richtigen"
mit Labels, sowohl auf dem Zielsystem als auch auf PC.
Habe ihn aber selber bisher nicht verwendet,
da mir die Tipp-Arbeit zu aufwendig ist.
Daher und um Deinen Quelltext nicht vom Zettel in den Rechner übertragen
zu müssen, denkst Du lieber über einen Disassembler nach? Jo, das kann
man so machen...
Die am Code Interessierten sollen sich ja auch den Binär-Blob bei
$BLABLUBB ansehen und die Opcodes anhand der Tabelle nachschlagen, die,
wie ich mich irgedwie schwach errinnern kann, aus der
Opcode-Beschreibung vom Leser on the fly zu Erzeugen ist.
Josef G. schrieb:> Le X. schrieb:>> Wo kann ich mir denn den Sourcecode dazu ansehen?>> Den habe ich nur handschriftlich auf Papier. Der fertige> Code steht in der Datei teca im Bereich 39c0 .. 405f.>> Bin immer wieder mal am Überlegen, einen auf PC laufenden> Zeilen-Disassembler zu schreiben, hab es aber bisher nie> ernsthaft in Angriff genommen. Aber vielleicht nimmt sich> ja jemand anderer der Sache an ...
Habe jetzt einen Disassembler geschrieben und damit
ein Listing meiner GOL-Implementierung erzeugt.
Die GOL-Implementierung habe ich nochmal überarbeitet.
Die fest vorgegebenen Startbilder gibt es nun nicht mehr.
Man kann die Größe des Spielfelds 64*64 oder 128*128 wählen,
das Startbild der Größe 64*64 wird in beiden Fällen aus der
Seite E des Text-RAM importiert, bei 128*128-Auflösung in
die Mitte des Spielfelds.
-------------
Den Assembler habe ich überarbeitet. In den Variablen-
vereinbarungs-Zeilen ist das links stehende - weggefallen,
in den Code-Zeilen ist bei Zeilen ohne Setzen eines Labels
das links stehende = weggefallen, stattdessen setzt man
jetzt die Labels in der Form =NAME. Damit ist weniger
Tipparbeit erforderlich. Aufrufe von Labels oder anderen
Variablen schreibt man jetzt in der Form NAME+n,
den Offset +0 kann man weglassen.
Siehe Beschreibung des Kommandos =MASS
auf der Seite SYS-doku meiner Website.
Michael schrieb im Beitrag #4678264:
> Zum Lebensende wirst Du Dir bei wachem Verstande eingestehen müssen:> Hätte ich meine Zeit und meine Fähigkeiten nur sinnvoller verwendet!
Wenn Josef das Projekt Spaß bereitet, soll er es doch so weiterführen
wie er möchte. Wie viele andere Hobbys werden hinterlassen auch keine
für Dritte verwertbaren Dinge, sondern sind sehr vergänglich.
> Immerhin: Du unterhälst die Leute mit soviel Schmalspursicht.
Das einzige, was man Josef vielleicht noch verwerfen kann, ist die
mangelnde Einsicht, dass sein Prozessor für Dritte nicht allzu
interessant ist und dass er sehr viele Ratschläge einfach ignoriert.
Aber die Welt wird nicht untergehen, wenn irgendwann der Prozessor
wieder verschwinden wird. Ebenso gehen auch sehr viele
Briefmarkensammlungen, Bierdeckelsammlungen, Malereien,
Topflappenstickereien, usw. irgendwann in der Versenkung unter, auch
wenn da jeweils sehr viel Zeit und Herzblut hineingeflossen ist.
Michael schrieb im Beitrag #4678330:
> Es ist aber ein schönes Studienbeispiel was herauskommt, wenn die Freude> am (komplizierten) technischen Funktionieren jede Nutzwertüberlegung> dominiert.
Naja, andersrum killt jede Nutzwertüberlegung die Enthusiasmus fürs
Hobby. Dann wird jeder Rat teuer.
Warum soltel man seine Zeit ins Beantworten von Fragen und schreiben von
Wiki-Artikel investieren, wenn's keinen verwertbaren Nutzen hat?!
Obendrein wird man noch als verbohrter Spinner, der nur Unsinn redet
beschimpft.
Fpga K. schrieb:> Susi schrieb:>> T. W. schrieb:>> Ob der Josef mit dieser Einordnung einverstanden ist?>> Na jedenfalls ist "Susi" mit dem ersten Teil der Einordnung:>> T. W. schrieb:>> Insbesondere auch deshalb, weil die meisten anderen hier weder ähnliches>> anzubieten haben noch bereit sind, es auszustellen.>> in der richtige Schublade gelandet.
Ich glaube, ich wurde hier ein wenig misverstanden. Ich habe dieses
Projekt in keinster Weise abwerten wollen. Man muss es nur sehen, als
das, was es ist: Eines von vielen Hobbyprojekten, ohne industriellen
Nutzen, das aber eine sehr schöne Freizeitgestaltung darstellt, sowie
eine Möglichkeit, was zu lernen. Man hätte es auch mit
FPGA-Arcade-Plattformen vergleichen können.
Habe die Software der Test-Steckkarte überarbeitet
und die Realisierung von Arrays verbessert.
Das Programm zeigt die Realisierung eines 2-dimensionalen
Arrays aus 4-Byte-Integer-Variablen. Der erste Index läuft
von 0 bis f, der zweite Index läuft von 0 bis 7. Das Array
ist somit eine Databox mit Länge-1 = 01ff.
Aus den beiden Indizes INX und INY wird die Position IXY
in der Databox errechnet gemäß IXY = (INX*8+INY)*4.
Dies geschieht durch die Mikrooperationen
oLDX /07 INX und oADX /03 INY
oSTO /c0 ARR speichert den vorher eingelesenen
4-Byte-Wert von VAR in der Databox ARR ab Position IXY.
Bei Bereichsüberschreitung erfolgt eine Fehlermeldung.
Die obersten 2 Bit der Konstanten /c0
bestimmen die Anzahl der Bytes.
Die Variable IXY wird für die Operation nicht gebraucht,
sie dient im Programm nur dazu, die Position auszugeben.
Natürlich ist meine Notation nicht so kompakt wie die
algebraische Notation ARR(INX,INY) = VAR. Vorteil meiner
Notation: Die Dauer der Mikrooperationen ist bekannt, die
Gesamtdauer lässt sich daraus sehr einfach berechnen.
------------------
Die Seite Testcard meiner Website habe ich überarbeitet,
ich meine, sie ist jetzt verständlicher.
Der Disassembler ist jetzt auf meiner Website verfügbar.
Beschreibung auf der Seite Emul.
Josef G. schrieb:> Vorteil meiner> Notation: Die Dauer der Mikrooperationen ist bekannt, die> Gesamtdauer lässt sich daraus sehr einfach berechnen.
für welche 'heutige Anwendung' ist dieses Wissen relevant?
Die Zeiten als man Delays durch abzählen von CPU-Takten und CPU-Frequenz
berechnet hat, sind dank integrierter Hardware-Timer
(die man auch im FPGA implementieren kann 'wink') vorbei.
Gruß
ein Fan schrieb:> dank integrierter Hardware-Timer
Davon versteh ich zwar nicht viel, aber ich meine,
die Verwendung von Hardware-Timern hat auch Nachteile:
Man muss sie initialisieren, und eine ungefähre Abschätzung
der Zahl der CPU-Zyklen ist trotzdem erforderlich.
Josef G. schrieb:> die Verwendung von Hardware-Timern hat auch Nachteile:>> Man muss sie initialisieren, und eine ungefähre Abschätzung> der Zahl der CPU-Zyklen ist trotzdem erforderlich.
Unbelehrbar.... Ich laufe lieber, weil mein Auto muss gestartet werden
und dem Fahrer muss ich sagen, wo ich hin will...
Josef G. schrieb:> Man muss sie initialisieren, und eine ungefähre Abschätzung> der Zahl der CPU-Zyklen ist trotzdem erforderlich.
Ja, so ganz ohne Nachdenken kommt man tatsächlich nicht aus ;-)
Das Zählen von Zyklen ist aber auch nur bei Programmen geringer
Komplexität handhabbar.
Trotzdem gibt es Bereiche, wo Programme mit der Zahl Ihrer
Ausführungszyklen getimt werden. Beispiele:
- Software-UART
Mal ehrlich: wer hat nicht mal unter Verzicht jeglicher Timer eine
solche UART implementiert, einfach schon deshalb, weil keiner vorhanden
oder man die Resourcen des Systems nicht anderweitig belasten wollte
(z.B. in einem Monitor-Program für Debugging)
- Anwendungen, wo es auf geringen Jitter ankommt, z.B. gepulste
IR-Übertragung oder allgemein Modulatoren.
Schlussendlich darf auch auf die gute alte Turbo-Taste in PCs aus dem
letzten Jahrtausend hingewiesen werden: Die Ausführungsgeschwindigkeit
vieler Spiele hing von der Computerleistung ab. Offensichtlich wurde
hier keine Timer benutzt.
Eddy C. schrieb:> Offensichtlich wurde> hier keine Timer benutzt
[ ] du weist wie ein Timer funktioinert
[x] du weist nicht wie ein Timer funktioniert
ein Timer (egal ob Hardware oder Software) hängt natürlich
vom Prozessortakt ab. Die Turbo-Taste beeinflusst beide Versionen.
Nur ein Hardware Timer wäre (einmal eingestellt)
1. nicht CPU blockierend
2. unabhängig von der Befehls Ausführungs-Geschwindigkeit
(wenn ein Opcode Befehl durch Optimierung schneller wird, stimmt
das zuvor berechnete Pausentiming nicht mehr)
3. per VHDL leicht parallel vervielfachbar
Eine Software-UART in einem FPGA macht ja wohl gar keinen Sinn
(außer für Lernzwecke)
Protomax schrieb:> [ ] du weist wie ein Timer funktioinert> [x] du weist nicht wie ein Timer funktioniert
[ ] du weist nicht wie ein Timer funktioniert
[x] du weist garnicht nicht wie ein Timer funktioniert
...sonst wüsstest Du, dass Timer- und Prozessortakt nicht
notwendigerweise aneinander gekoppelt sind. Abgesehen davon:
https://de.wikipedia.org/wiki/Turbo-Taste
Stichwort "Verzögerungsschleife"
> Nur ein Hardware Timer wäre (einmal eingestellt)> 1. nicht CPU blockierend
Ahso? Braucht es dazu vielleicht noch mehr? Einen Interrrupt z.B.?
> 2. unabhängig von der Befehls Ausführungs-Geschwindigkeit> (wenn ein Opcode Befehl durch Optimierung schneller wird, stimmt> das zuvor berechnete Pausentiming nicht mehr)
Hammer!
> 3. per VHDL leicht parallel vervielfachbar
In Nutella sind zur Zeit Keks-Stempel zum sammeln!
> Eine Software-UART in einem FPGA macht ja wohl gar keinen Sinn
Der OP hat schon keine Lust auf Timer. Da willst Du eine UART in den
FPGA giessen?
> (außer für Lernzwecke)
Bingo ;-)
Eddy C. schrieb:> ...sonst wüsstest Du, dass Timer- und Prozessortakt nicht> notwendigerweise aneinander gekoppelt sind. Abgesehen davon:
Na klar nicht notwendigerweise, aber es macht Sinn die zu koppeln.
Eddy C. schrieb:> Der OP hat schon keine Lust auf Timer. Da willst Du eine UART in den> FPGA giessen?
Also das ist in etwa gleich vom Aufwand her. Hat man Beides an einem
Nachmittag geschrieben.
Gustl B. schrieb:> Eddy C. schrieb:>> ...sonst wüsstest Du, dass Timer- und Prozessortakt nicht>> notwendigerweise aneinander gekoppelt sind. Abgesehen davon:>> Na klar nicht notwendigerweise, aber es macht Sinn die zu koppeln.
Beim PC aber schon und darum ging es hier ;-)
> Eddy C. schrieb:>> Der OP hat schon keine Lust auf Timer. Da willst Du eine UART in den>> FPGA giessen?>> Also das ist in etwa gleich vom Aufwand her. Hat man Beides an einem> Nachmittag geschrieben.
Na klar Mann, aber Josef ∉ "man". Immer schön auf der Spur bleiben ;-)
Thema Timer:
Die CPU hat zwar keine Interrupts, aber es wäre ohne weiteres
möglich, dass die CPU mittels einer H..-Operation einen externen
Zähler startet, dann irgendwelche Programmschritte ausführt, und
wenn sie damit fertig ist mittels einer weiteren H..-Operation
wartet, bis der Zähler abgelaufen ist, bevor sie weitermacht.
Thema UART:
Die in der aktuellen Konfiguration des Geräts implementierte
RS232-Schnittstelle bewerkstelligt das Senden und Empfangen
eines Bytes in der Hardware, die CPU selber gibt nur ganze
Bytes aus oder empfängt ganze Bytes.
Ist aber kein UART (U = universell), weil die Baudrate fest
ist und die Handshake-Leitungen nicht verwendet werden.
Josef G. schrieb:> Die CPU hat zwar keine Interrupts
OK jetzt nehme ich deine CPU und baue damit einen Küchenwecker.
Wie mache ich sowas ohne Interrupts? Ich kann einen externen (wo ist
der? NE555?) Timer starten und darauf warten. Was mache ich in der
Zwischenzeit, z.B. wenn der Anwender doch eine andere Zeit einstellen
will?
Muss ich ständig in einer Schleife laufen bis die Zeit um ist oder
jemand einen Knopf drückt? Kann ich dabei Strom sparen?
Ich kann also nur
a) polling machen (ohne Pause, Sleep etc. also voller Stromverbrauch)
b) den gesamten Core anhalten und auf ein Ereignis warten.
Stimmt das?!
Wie soll ich damit sinnvolle Anwendungen programmieren? Multitasking auf
einer normalen CPU ist schon schwer genug, du machst es nochmal extra
schwierig. Hat das einen Grund? Vorteile hats keine.
Tr schrieb:> Wie soll ich damit sinnvolle Anwendungen programmieren? Multitasking auf> einer normalen CPU ist schon schwer genug, du machst es nochmal extra> schwierig. Hat das einen Grund? Vorteile hats keine.
Da fällt dem Josef sicher was ein.
Aber nehmen wir doch ein realistischeres Beispiel, z.B. die Wordclock,
die vielen hier ja ein Begriff sein sollte.
Die zeigt eigentlich ziemlich gut wie ein typisches ATmega-Projekt so
aussieht und spricht recht viel Hardware an.
- Timer für den Systemtakt
- Parsen/Auswerten eines IR-Sensors für Fernbedienungen
- Auswerten der DCF77-Information
- Kommunikation mit externer RTC via I2C
- (hab bestimmt noch was vergessen)
- meine macht zusätzlich noch 6-Kanal Soft-PWM damit das Ambilight eine
andere Farbe haben kann als die Schrift
- Protokollparser samt Kommandointerpreter der auf der UART lauscht
(Bluetooth-Fernbedienung, nur Spielerei ;-) )
Da ist jetzt nichts wildes dabei, alles eher Standardzeugs für 8-Bitter.
OK die hochfrequente Soft-PWM ist eher ungewöhnlich und erfordert
natürlich ein bestimmtes Zeitverhalten, sonst flackerts.
Josef, kann deine CPU das vernünftig und zuverlässig? Deterministisch?
Tr schrieb:> b) den gesamten Core anhalten und auf ein Ereignis warten.
Es können auch mehrere Ereignisse sein. Die externe Hardware,
welche bei H.. das Repeat-Signal zum Anhalten der CPU erzeugt,
kann mit Ende des Repeat die Nummer des beendenden Ereignisses
auf den Datenbus legen, und die CPU kann die Nummer einlesen
und mit der Nummer eine Sprungtabelle auswerten.
Le X. schrieb:> kann deine CPU das vernünftig und zuverlässig?
Von den aufgelisteten Anforderungen verstehe ich zwar nichts,
aber ich glaube nicht, dass eine einzelne CPU ohne Interrupts
das kann. Aber warum sollte meine CPU das können, dafür ist
sie nicht gemacht. Man kann mit ihr einen Computer bauen
mit Tastatur und Bildschirm, dafür ist sie gemacht.
Josef G. schrieb:> Von den aufgelisteten Anforderungen verstehe ich zwar nichts,> aber ich glaube nicht, dass eine einzelne CPU ohne Interrupts> das kann.
Und deswegen sind CPUs ohne Interrupts auch ausgestorben bzw. haben sich
nicht durchgesetzt. Es gibt zwar durchaus auch Ausnahmen wie z.B.
Parallax Propeller, die auch ohne Interrupts auskommen, aber dafür
andere sehr geschickte Merkmale in ihrer Architektur haben. Parallax
erhebt aber auch überhaupt nicht den Anspruch, Universalprozessoren zu
entwickeln, sondern schränkt die Anwendungsbereiche deutlich ein.
> Aber warum sollte meine CPU das können, dafür ist> sie nicht gemacht. Man kann mit ihr einen Computer bauen> mit Tastatur und Bildschirm, dafür ist sie gemacht.
Deine CPU ist aber auch nicht hierfür gemacht. Schon bei dem Versuch,
eine diskret aufgebaute Tastaturmatrix zu verwenden, deren Tastendrücke
im Hintergrund erfasst werden, scheitert Dein Konzept. Und die
Unmöglichkeit, eine halbwegs zur normalen Uhrzeit passende Systemuhr zu
realisieren, verhindert nicht nur Projekte mit expliziter Ausgabe der
Uhrzeit (siehe o.a. Wordclock), sondern auch so etwas wie Zeitstempel
bei Datei(system)zugriffen, Netzwerkprotokolle, usw..
Auch wenn Du viel Spaß an Deinem Projekt hast, finden sich immer mehr
Gründe gegen die weitere Verbreitung Deiner CPU. In den letzten Jahren
wurden immer mehr Schwächen Deiner Architektur aufgedeckt, und Du
unternimmst nicht einmal den Hauch einer Anstrengung, diese Schwächen zu
analysieren und Deine CPU entsprechend zu überarbeiten bzw. zu
erweitern. Stattdessen bestrafst Du die wenigen Leute, die tatsächlich
Deine CPU ausprobieren, damit, dass Du irgendwelche weitgehend nutzlose
Änderungen am Befehlssatz durchführst und für Inkompatibilitäten mit
bestehenden Programmen sorgst.
Josef:
Ich habe etwas tolles gebaut mit dem man sich einen rostigen Nagel ins
Knie schlagen kann wenn man schlimmen Kopfschmerz loswerden will.
Forum:
Das tut aber weh und warum sollte man das machen wenn das Knie dann
viel mehr wehtut als der Kopf.
Josef:
Ich habe ein paar andere Hämmer ausprobiert und es geht auch damit.
Nun man los, so einen Hammer hat doch jeder Zuhause.
Forum:
Dein Konzept taugt nicht, das will doch niemand.
Josef:
Geht auch mit langen Nägeln und man kann auch Schrauben einschlagen
wenn man schön fest zuhaut.
Forum:
Das Prinzip Gegenschmerz ist seit 100 Jahren tot weil es ungefähr eine
million bessere Wege gibt.
Josef:
Ich hab die Nägel schön poliert jetzt kann es doch keinen Grund mehr
geben das nicht zu wollen.
Forum: (Wird sich bis zum jüngsten Tag in dieser Endlosschlefe bewegen)
Josef:
Seit heute kann man Schrauben mit Linksgewinde verwenden. Die sind
genauso schön poliert wie die Nägel. Allerdings benötigt man einen
Linksgewindeschraubenhammer.
Ich darf diesen Beitrag zitieren, der einen sehr vernünftigen Vorschlag
enthält:
Andreas S. schrieb:> Eigentlich wäre doch jetzt der richtige Zeitpunkt gekommen, an dem Du> Deine Erfahrungen in Sachen Prozessorentwurf, die hier aufgeführten> Kritiken und Anmerkungen sowie den aktuellen Stand der Technik> zusammenführen und noch einmal ganz von vorne einen neuen Prozessor> entwerfen könntest. Und zwar ohne auch nur eine einzige Zeile des alten> Entwurfs wiederverwenden zu wollen.
Warum nicht so?
Mark B. schrieb:> Warum nicht so?
Weil auch ich mittlerweile aufgegeben habe, davon auszugehen, dass Josef
wirklich irgendwann auf solche Vorschläge eingehen wird.
Andreas S. schrieb:> Deine CPU ist aber auch nicht hierfür gemacht. Schon bei dem Versuch,> eine diskret aufgebaute Tastaturmatrix zu verwenden, deren Tastendrücke> im Hintergrund erfasst werden, scheitert Dein Konzept.
Das sind doch alles keine Argumente für unseren Wozniak2:
https://de.wikipedia.org/wiki/Apple_II#Timing
1
Der Apple II verfügte von Haus aus nicht über Zeitgeber (Timer)
2
und Unterbrechungen (Interrupts). Wozniak nannte als Grund dafür,
3
dass er das Design möglichst einfach halten wollte. Außerdem
4
hatte ein interruptgetriebener Tastaturtreiber versagt, so
5
dass er für diesen auf ein „Polling“-Verfahren zurückgriff.
Dann solltest Du aber auch noch schreiben, dass diese Einsparung
durchaus als Ärgernis angesehen wurde und es für den Apple ][ auch
etliche Anbieter von Einsteckkarten mit Uhren- und/oder Timer-Funktionen
gab. Der 6502 war nämlich durchaus interruptfähig, und auch Apple hat
den Erweiterungsslots sowohl einen gemeinsamen NMI (non-mascable
Interrupt) als auch einen normalen Interrupt mit Daisy Chaining
spendiert. Somit kann man also gerade den Apple ][ nicht als Referenz
für eine interruptfreie Rechnerfamilie anführen.
Man sollte es aber bei solchen Rechnern tunlichst unterlassen, einen im
Hintergrund laufenden Interrupthandler zu realieren, der auch dann aktiv
ist, wenn das eigene Hauptprogramm verlassen wurde. Da bei Apple ][ auch
das gesamte Timing für Audioausgabe, Kassettenrekorder und sogar
Diskettenlaufwerke in Software realisiert wurde, hätte man sich üble
Fehler beim Schreiben auf externe Datenträger oder lästiges Knistern im
Lautsprecher einhandeln können.
Update zum Stand des Projekts:
Die drei Xilinx-Boards Spartan-3A/3AN-Starter-Kit,
Spartan-3E-Starter-Board, Nexys2-Board werden nicht
mehr produziert und sind neu nicht mehr erhältlich.
Die drei Altera-Boards DE1, DE0, DE0-nano gibt es noch neu.
Die letzte Quartus-Version zu DE1 und DE0 ist 13.0 Sp1.
Falls jemand über den Kauf eines neuen Boards nachdenkt,
empfehle ich das DE0. Einziger Nachteil des Boards:
Die Buchse für RS232 muss man selber anschließen.
---
Die selbstgestrikte parallele Erweiterungs-Schnittstelle
habe ich wieder entfernt. Stattdessen habe ich jetzt den
VHDL-Code so umgeschrieben, dass Anwender leicht eigene
Schnittstellen einbauen können.
---
Die Domain bomerenzprojekt.de habe ich aufgegeben.
Neue Website zum Projekt ist http://www.bo8h.de
Auf der neuen Website steht das gesamte Projekt in
einer einzigen zip-Datei zum Download zur Verfügung.
Der Vollständigkeit halber hier nochmal der
Link zum Wiki-Artikel: 8bit-Computer: bo8h
Josef G. schrieb:> Habe die Konfiguration der vier FPGA-Boards geändert.
Toll. Hast du das ganze endlich auf ein nachvollziehbares und vor allem
sinnvolles Konzept geändert?
Josef G. schrieb:> Die Start-Prozedur nach dem Konfigurieren erfordert nun nur> noch das Drücken eines einzigen Tasters (CPU-Reset aufheben).
Och nee. Zu früh gefreut. Schade.
Josef G. schrieb:> Man kann nun (selbstgebaute) Zusatzhardware anschließen.
Nicht man sondern du. Du dürftest wohl weltweit der einzige sein der
Zusatzhardware dafür bauen will.
Toll, es geht weiter, jupiii. Schnell Cola und Knabberzeug holen.
Habt Ihr schon Josef gefragt, was man mit dem ACHT-Bit-Computer alles
tolles machen kann, wo er den Markt sieht für seinen
Super-8-Bit-Computer. Acht Bit in einer Reihe. Wow. Mit einem
300€-FPGA-Board einen Computer bauen der weniger kann als ein
EIN-EURO-Board aus der Bucht. Das muss doch was sein. Macht weiter.
Danke.
Eddy C. schrieb:> Es ist ein Projekt zum Selbermachen und Lernen. Da sind 8 Bit> schon in> Ordnung.
Ja, aber nicht in Form dieser eigenwilligen Machbarkeitsstudie.
Zum Lernen nimmt man einen kleinen AVR.
Positiver Nebeneffekt: Damit sind sogar ernsthafte Anwendungen möglich.
Steve schrieb:> Zum Lernen nimmt man einen kleinen AVR.
Es hängt davon ab, was Du lernen willst. Wenn Du Dir selbst Deine
Traum-CPU bauen willst inkl. Entwicklungsumgebung, würdest Du sicher
nicht AVR nehmen, sondern prinzipbedingt etwas entwickeln, was so noch
nicht existiert.
Man muss ja froh sein, dass es eine 8-Bit-Maschine ist und nicht 7. Oder
9 ("Oktal rulz!)
Wobei ich die Wortbreite der Maschinenbefehle nicht kenne.
Frank M. schrieb:> Ich schlage stattdessen WE.G, DA.M, I.T vor. Das passt besser.
Auch wenn viele diese Meinung teilen, ist das doch etwas fern einer
guten Moderation, denn "moderieren" heisst "abschwächen" und nicht etwa
die Diskussion befeuern.
Das kannst Du mit Deinem privaten account tun. Als Moderator sollte man
da zurückhaltender sein mit seinen Meinungen.
So schlimm ist jetzt das Projekt von Josef auch wieder nicht.
Es gibt Projekte im Internet, die haben nicht mal die Hälfte an Doku und
die ist in chinesich!
Auch Hardwaremodule, die Ich beruflich einsetze und die aus China
kommen, sind schlimmer und lückenhafter beschrieben.
Klaus L. schrieb:> Auch wenn viele diese Meinung teilen, ist das doch etwas fern einer> guten Moderation, denn "moderieren" heisst "abschwächen" und nicht etwa> die Diskussion befeuern.
Die Kamelle, die Du hier ausgepackt hast, ist vom April 2016. Damals war
ich noch überhaupt kein Moderator. Dass es trotzdem über dem Beitrag
steht, liegt daran, dass das Forum immer den IST- und nicht den
momentanen Zustand zeigt.
Und jetzt beam Dich mal wieder in die Gegenwart ;-)
Habe das Emulations-Programm überarbeitet.
Die farbliche Gestaltung entspricht jetzt dem realen System.
Die Tastaturbelegung ist komplett neu, jetzt sind auch
die Cursortasten eingebunden.
Und es gibt jetzt eine ausführliche Anleitung
zur Bedienung des Programms.
http://www.bo8h.de/Downloads/
Josef G. schrieb:> Die farbliche Gestaltung entspricht jetzt dem realen System.
Echt jetzt? Schwarze Schrift auf knallgelben Hintergrund?
Bei dir darf man sich wirklich über gar nichts mehr wundern.
Ich hatte eigentlich gehofft das du nach nunmehr fünf Jahren Unsinn
endlich zur Vernunft kommst und das ganze einstampfst.
Einige aktuelle Beiträge in einem Thread im FPGA-Forum betreffen auch
die Qualität meines VHDL-Codes, deshalb möchte ich sie hier zitieren.
Es geht um die Erzeugung eines Taktsignals aus einem Master-Clock.
Josef G. schrieb:> Achim S. schrieb:>> Deine Ausgangssignale werden zwar mit 2MHz bzw. 1MHz hin und her>> schalten. Aber du solltest dir im Klaren darüber sein, dass das dann>> kein Taktsignal ist in dem Sinn, dass du damit eine Logik im FPGA>> vernünftig takten kannst. Es wird nicht von den Clock-Treibern des>> FPGA auf dem Clock-Tree verteilt sondern ist ein normales Logiksignal.>> Bei Spartan3, CycloneII/III/IV geht das aufschalten auf Clockleitungen> durchaus, siehe mein Projekt. Man muss nur im Clock-Report nachschauen,> ob die Synthese das von sich aus macht. Andernfalls kann man es durch> Instantierung eines Clockbuffers erzwingen.Josef G. schrieb:> Lothar M. schrieb:>> Trotzdem wird die Toolchain irgendwas zum Thema "skew" ausgeben...>> Nein, bei mir nicht.>> Der erzeugte Takt kommt ja an allen Flipflops gleichzeitig an,> weil er über das Clock-Leitungssystem verteilt wird.>> Nur gegenüber der erzeugenden Flanke des Master-Clocks besteht> ein kleiner Zeitversatz, dessen genaue Größe unbekannt ist.> Das muss man halt im Auge behalten bei Übergängen> zwischen den Taktdomainen.Da D. schrieb:> Klingt jetzt vielleicht gemein ... : Josef ist auch kein FPGA Experte.Gustl B. schrieb:> Aber er hat hier schon Recht. Wenn man den Takt mit einem FF teilt und> wieder in ein Taktnetzwerk einspeist, dann ist das OK. Man hat einen> Versatz zwischen dem ursprünglichen Takt und dem neuen Takt, aber wenn> man das ordentlich behandelt passt das.
Da manche FPGA-Fachleute Vorbehalte gegen asynchrone Resets haben,
habe ich den CPU-Reset in einen synchronen Reset umgeschrieben.
Ausserdem habe ich die Wirkung der Code-Folge H.. H..
nochmal geändert. Sie führt jetzt zum Anhalten der CPU.
8bit-CPU: bo8
Josef G. schrieb:> nochmal geändert
Ich niemand merkt es ...
Du sorgst seit langem mit aller Kraft dafür das keiner das Teil mit der
Kneifzange anfassen mag.
Weiter so, bleib Dir treu ...
Gäbe es Auszeichnungen für schlechteste Dokumentation, intransparenteste
Entwicklung, permanente unangekündigte Designänderungen, schlechteste
Codebasis und mutwillige Vertreibung jeglicher Interessenten, Du würdest
sie alle einheimsen.
Vor 30 Jahren habe ich in der Ausbildung mit dem MFA Lehrsystem
gearbeitet.
8085 Steckkartensystem im 19' Gehäuse.
Um an die Übersichtlichkeit, Erweiterbarkeit und den Bedienkompfort
dieses längst ausgestorbenen Dinosaurieres heranzukommen müssten Du noch
ein paar Jahre intensiver Arbeit in das BO8 System stecken.
So nützlich wie ...
https://de.wikipedia.org/wiki/Familienbenutzer
Michael K. schrieb:> Josef G. schrieb:>> nochmal geändert> ...
Sag mal, wenn dich das hier nicht interessiert, hör wenigstens auf so
agressiv herumzumäkeln.
Es gibt einen Unterschied zwischen Kritik und Beleidigungen. Deine Posts
gehen eher in die Zweite Richtung.
Kritik ist ja ok, aber sowas?
Leute wie du sind der Grund, warum dieses Forum so ekelhaft ist.
Michael K. schrieb:> permanente unangekündigte Designänderungen
Der aktuelle Befehlssatz der CPU unterscheidet sich
von der ersten hier veröffentlichten Version neben
der Codefolge H.. H.. lediglich in einem Befehl:
Subtrahiere A von Null mit Carry wurde ersetzt durch
Lade K mit Null. Und die Befehle sind neu angeordnet.
Ausserdem haben ein paar Operationen neue Mnemonics.
Josef G. schrieb:> Ausserdem haben ein paar Operationen neue Mnemonics.
Mist, jetzt nachdem ich endlich fehlerfrei in Bom8 Assembler
programmieren gelernt habe.
Gu. F. schrieb:> Josef G. schrieb:>> Ausserdem haben ein paar Operationen neue Mnemonics.
Meine Aussage war missverständlich.
Mit "neu" war nicht gemeint aktuell neu, sondern neu gegenüber
der ersten Version. Die letzte Änderung liegt schon lange zurück.
Beitrag "Re: 8bit-Computing mit FPGA"
Frank M. schrieb:> Ich schlage stattdessen WE.G, DA.M, I.T vor. Das passt besser.> Eben, Du kannst auch EX.U ND.H O.PP verwenden, das merkt keine Sau.
Sag mal Frank, eine Frage:
Was hat dein Gehetze gegen Josef mit deiner Funktion des Moderierens
gemein? Laut Wiki bedeutet Moderieren eigentlich "abschwächen", d.h.
Diskussionen zu kanalisieren und zu besänftigen, statt sie zu befeuern!
Du bist kein Moderator sondern Stänkerer! Und weil Dir Kritik nicht
gefällt, wirst Du deine Modetatorenrechte misbrauchen und diese Kritik
an dir weglöschen.
Wetten das?
jemand schrieb:> Michael K. schrieb:>> Josef G. schrieb:>>> nochmal geändert>> ...>> Sag mal, wenn dich das hier nicht interessiert, hör wenigstens auf so> agressiv herumzumäkeln.>> Es gibt einen Unterschied zwischen Kritik und Beleidigungen. Deine Posts> gehen eher in die Zweite Richtung.>> Kritik ist ja ok, aber sowas?>> Leute wie du sind der Grund, warum dieses Forum so ekelhaft ist.
Dem ist nichts hinzuzufügen!
Andreas S. schrieb:> Super, dann müssen sich ja die Hersteller von ARM- und> RISC-V-Prozessoren warm anziehen, weil sie von BO8 verdrängt werden!
Den B8 knackt wenigstens keiner, falls jemand auf die Idee kommt, ihn
einzusetzen. Es gibt dafür keinen Disassembler, keinen richtigen
Compiler und keine Doku. Besser hätten es die Russen auch nicht
hinbekommen können :-)
Zu den Farben, wäre sowas vielleicht angehmer, als das grelle Gelb:
Alca Pone schrieb:> Frank M. schrieb:>> Ich schlage stattdessen WE.G, DA.M, I.T vor. Das passt besser.>> Eben, Du kannst auch EX.U ND.H O.PP verwenden, das merkt keine Sau.>> Sag mal Frank, eine Frage:
Als Frank M. das schrieb, war er noch nicht Moderator.
Hat er weiter oben schon richtiggestellt.
Beitrag "Re: 8bit-Computing mit FPGA"> Es gibt dafür keinen Disassembler,
Doch. Siehe im Download-File im Verzeichnis info die Datei Emul.
> keinen richtigen Compiler
Ist richtig.
> und keine Doku.
Doch, und sie ist vollständig.
Siehe die Datei CPU-doku oder 8bit-CPU: bo8.
> Zu den Farben, wäre sowas vielleicht angehmer, als das grelle Gelb:
Wie hat du das Bild erzeugt?
Gu. F. schrieb:> Mist, jetzt nachdem ich endlich fehlerfrei in Bom8 Assembler> programmieren gelernt habe.
Obwohl das sicher ironisch gemeint ist, scheinst du
doch irgendwie Interesse an der CPU zu haben.
Hast du den Assembler schon ausprobiert?
Siehe im Download-File im Verzeichnis info die Seite Emul.
Da steht zwar, der Assembler beruht auf dem Emulationsprogramm,
aber er ist ohne Grafik, deshalb gelten die möglicherweise
abschreckenden Sicherheitshinweise zum Emulationsprogramm
hier nicht. Und es ist eine Beispiel-Sourcedatei dabei.
@Josef G. (bome) Benutzerseite
>> Mist, jetzt nachdem ich endlich fehlerfrei in Bom8 Assembler>> programmieren gelernt habe.>Obwohl das sicher ironisch gemeint ist,
WOW! Joseph erkennt Ironie! Ist Heilung in Sicht?
> scheinst du>doch irgendwie Interesse an der CPU zu haben.
Ohh, doch nicht . . .
Alca Pone schrieb:> Du bist kein Moderator sondern Stänkerer!
Wie Josef schon richtigstellte, war ich damals noch kein Moderator.
Leider wird im Beitrags-Kopf immer der aktuelle Ist-Zustand angezeigt
und nicht der damalige Zustand, als der Beitrag entstand. Ich bin mir
der Aufgabe als Moderator durchaus bewusst - auch wenn ich heute noch
als normaler Teilnehmer des Forums manche Beiträge als User und nicht
als Moderator verfasse. Schließlich sind wir Moderatoren auch noch
"nebenbei" normale Anwender des Forums.
> Und weil Dir Kritik nicht> gefällt, wirst Du deine Modetatorenrechte misbrauchen und diese Kritik> an dir weglöschen.> Wetten das?
Die Wette hast Du leider verloren. Dein Beitrag bleibt natürlich der
Nachwelt erhalten. Kritik kann ich durchaus annehmen, wenn sie
gerechtfertigt ist.
Josef G. schrieb:>> und keine Doku.> Doch, und sie ist vollständig.
Das glaube ich dir. Aber sie ist kaum zu gebrauchen, weil sie
unverständlich ist, wenn man das System noch nicht kennt.
Eine Doku ist keine einfache Aneinanderreihung von technischen Fakten.
MaWin schrieb:> Josef G. schrieb:>>> und keine Doku.>> Doch, und sie ist vollständig.>> Das glaube ich dir. Aber sie ist kaum zu gebrauchen, weil sie> unverständlich ist, wenn man das System noch nicht kennt.>> Eine Doku ist keine einfache Aneinanderreihung von technischen Fakten.
Exakt.
Eine Doku soll, wenn sie gut geschrieben ist, jemandem das System
erklären der es eben (noch) NICHT kennt.
Mark B. schrieb:> Eine Doku soll, wenn sie gut geschrieben ist, jemandem das System> erklären der es eben (noch) NICHT kennt.
Habe die Doku mal überflogen. Sie ist wirklich nicht zu gebrauchen. Wenn
ich es nicht besser wüsste, hätte ich spontan gesagt, der Josef ist mein
Kollege vom Nachbarbüro, der bei uns die firmware macht. Der
dokumentiert auch so.
Computer-Ex-Perte schrieb:> Habe die Doku mal überflogen. Sie ist wirklich nicht zu gebrauchen.
Wer sie verstehen will und sich Zeit nimmt, der versteht sie auch.
Wer sie nur überfliegt, der will sie gar nicht verstehen.
Josef G. schrieb:> Wer sie verstehen will und sich Zeit nimmt, der versteht sie auch.> Wer sie nur überfliegt, der will sie gar nicht verstehen.
Das ist nicht, wie Dokumentation funktioniert.
Wenn man es will und genug Zeit reinsteckt, braucht man gar keine Doku
und kann sich alles aus dem Code Reverse-Engineeren.
Eine Dokumentation muss problemlos les- und verstehbar sein. Sonst ist
sie unbrauchbar.
Falk B. schrieb:> Der Wurm muß dem Fisch schmecken und nicht dem Angler!
So einfach und so wahr.
Erstaunt mich immer wieder, dass manche Menschen solch einfache Dinge
nicht verstehen können oder wollen.
Josef G. schrieb:> Wer sie verstehen will und sich Zeit nimmt, der versteht sie auch.
Also wenn ich sehe, dass man mir gleich technische Details, schnöde
Textdateien ohne große Strukturierung und Abkürzungen aka
Buchstabensalat ohne Erklärung vor die Schnauze knallt, hat man die Lust
eigentlich sofort verloren. Bei einer Doku sieht man sofort wie viel
Mühe sich derjenige gemacht hat, da sehe ich hier schwarz.
Von einer Doku erwarte ich heutzutage Dokumente im PDF-Format, richtige
Abbildungen (kein 80er Jahre ASCII Quatsch) und eine ordentliche
Strukturierung mit Inhaltsverzeichnis. Bei einer Doku zu einer CPU
erwarte ich eine schöne Übersicht, welche Architektur, welche Features,
Aufbau etc.. Die Details kommen da erst ganz hinten. Ein Abschnitt über
die ISA mit einem Unterkapitel pro Instruktion. Für Programmbeispiele in
Assembler gibts Bonuspunkte. Das ist mal was mir so spontan einfällt.
Hier ein gutes Beispiel:
https://www.st.com/content/ccc/resource/technical/document/programming_manual/6c/3a/cb/e7/e4/ea/44/9b/DM00046982.pdf/files/DM00046982.pdf/jcr:content/translations/en.DM00046982.pdf
Vom VHDL-Code will ich eigentlich keine Worte verlieren, so was
unlesbares habe ich noch nicht gesehen. Wie wärs mit Kommentaren und
aussagekräftigen Namen statt kryptische Namensgebung wie bei einem
Code-Obfuscation-Contest?
Das hochgesteckte Ziel Anfängern zu erklären wie CPUs funktionieren,
hast du damit kolossal verfehlt, wenn man als studierter Informatiker
mit großen Interesse zu Rechnerarchitekturen keinen Zugang findet.
Also nimm die Kritik an, mach es besser, Profit.
BTW Architektur mit Akkumulator ist ziemlich out und macht es Anfängern
auch nicht einfacher. Anfänger sollte man eine einfache, moderne 0815
RISC Architektur vorlegen.
Instrukteur schrieb:> Josef G. schrieb:> Bin zur Zeit am überlegen, anstelle von NA.K und NA.A> die Befehle SZ.A und AZ.A wieder einzuführen>> Nein. Viel dringender wird> SE.LF.DES.TRUC.TI.ON> gebraucht.> Dann bitte 1x ablaufen lassen...
Ein ganz schön blöder Kommentar
Falk B. schrieb:> @Josef G. (bome) Benutzerseite>>>> Mist, jetzt nachdem ich endlich fehlerfrei in Bom8 Assembler>>> programmieren gelernt habe.>>>Obwohl das sicher ironisch gemeint ist,>> WOW! Joseph erkennt Ironie! Ist Heilung in Sicht?
Die wirklich lernresistenten Akteure in diesem Forum sind doch die, die
noch heute eine gefällige Dokumentation von Josef erwarten und denken,
ihn dazu bekehren zu können.
Instrukteur schrieb:
> Josef G. schrieb:> Bin zur Zeit am überlegen, anstelle von NA.K und NA.A> die Befehle SZ.A und AZ.A wieder einzuführen>> Nein. Viel dringender wird> SE.LF.DES.TRUC.TI.ON> gebraucht.> Dann bitte 1x ablaufen lassen...
Vielleicht braucht kein Mensch den B08, aber es brauchte einen Menschen
um ihn zu erschaffen. Das sollte man zumindest respektieren.
Josef G. schrieb:> Hier eine Beschreibung des Befehlssatzes, ausgeschrieben ohne> Platzhalterzeichen. Ist die Beschreibung so besser lesbar?
Nicht wirklich.
Nehm Dir doch einfach mal die Doku eines alterwürdigen 8051, 8085, 6502,
Z80 in die Hand und schau wie die Architektur und Befehlssatz
dokumentiert haben.
Du ballerst das alles unsortiert auf eine Seite Fließtext und wunderst
Dich das sich da niemand durchrackern mag.
Statt 'telling names' für die Mnemonics wie z.B. LDI = Load Immediately,
verwendest Du einen Wust von Kürzeln die Knoten im Gehirn auslösen beim
Versuch da durchzusteigen.
Josef G. schrieb:> SW.Z nach dem folgenden FE-Halbzyklus wird statt eines BN> ein BZ ausgegeben. Dies soll extern eine memory-page-> Umschaltung für Z auslösen. Das Resultat muss bereits> beim folgenden tA zur Verfügung stehen.
Aha, ja bitte was?
Das meine ich, das mag sich doch niemand antun.
Dir ist das alles klar, Du hast den ja auch gebaut.
Nur lebst Du da echt in Deiner eigenen Welt und kaum jemand hat Lust da
einzutauchen weil die BO8 nichts kann was nicht schon 100mal woanders
besser gelöst worden wäre.
Als Lernsystem vielleicht, aber das einzige was man da lernt ist eine
hohe Frustrationstoleranz gegenüber grauenhafter Doku.
Ich höre auf zu lesen wenn sich mir kein zwingender Architekturvorteil
erschliesst und sich der Autor noch nicht mal Mühe gibt eine saubere,
lesbare und vernünftig formatierte Dokumentation zu liefern.
Deinen Hang zum nackten Purismuss teilt kaum jemand.
Ich erwarte ein strukturiertes, revisioniertes, PDF mit
Inhaltsverzeichnis für ein Produkt mit dem ich mich beschäftigen soll.
Du steckst da so viel Arbeit rein und weigerst Dich seit einer Ewigkeit
auch nur einen gutgemeinten Rat anzunehmen was Farbwahl, Struktur,
Datenformat etc. pp. angeht.
Auch dieser Post wird so überhaupt garnichts bringen bei Dir.
Du wirst weiter Dein Ding machen, vorbei an allen anderen, obwohl Du
eigentlich gerne Mitstreiter hättest.
Michael K. schrieb:> Als Lernsystem vielleicht, aber das einzige was man da lernt ist eine> hohe Frustrationstoleranz gegenüber grauenhafter Doku.
Oh, oh, oh! Da kenn ich aber so einige Industrieprojekte, bei denen man
das als Skill sehr gut gebrauchen kann.
:-)
Josef G. schrieb:> Hier eine Beschreibung des Befehlssatzes, ausgeschrieben ohne> Platzhalterzeichen. Ist die Beschreibung so besser lesbar?
Nein. So wie im Anhang sollte es ungefähr aussehen (aus Datenblättern
von Atmel entnommen).
Analoger schrieb:> Wenn er einen 80er-Jahre 8-Bitter nachbauen will, kommt er um den Akku> nicht herum:-)
Der 8-Bit Mikrocontroller Z8 von Zilog 1979 hat keinen Akku, sondern 16
Register.
Der 8-Bit Mikroprozessor 2650 von Signetics aus den 70ern hatte
ebenfalls keinen Akku, sondern 4 Register.
A. K. schrieb:> Der 8-Bit Mikroprozessor 2650 von Signetics aus den 70ern
OMG, erinnert mich an meine ersten "Gehversuche", war in einem
INSTRUCTOR 50 verbaut....Handassemblierung mit Bleistift und Radiergummi
auf toten Holz etc.....
"Zu erreischen Gluckseligkeit unter finstrem Tann, ganz einfach
Handbedienung von GWK 9091: 1. Auspack und freu. 2. Slippel A kaum
abbiegen und verklappen in Gegenstippel B fuer Illumination von GWK
9091. 3. Mit Klamer C in Sacco oder Jacke von Lebenspartner einfraesen
und laecheln fuer Erfolg mit GWK 9091. 4. Fuer eigens Weihnachtsfeierung
GWK 9091 setzen auf Tisch."
-Bedienungsanleitung für Weihnachtskerzen Typ GWK 9001.
"Stellen Sie die Gerte des Singweisen Griffers Zur EINSTELLUNG. Eine
nette Singstimme wird verbeugen den anderen Teil auf denn Telephon von
hörender Yhrer geheimer Unterredung."
-Gebrauchsanleitung für dein Handy eines asiatischen Herstellers.
Beide Beispiele von
https://www.sueddeutsche.de/digital/kuriose-bedienungsanleitungen-teutonische-gemuetlichkeit-fuers-heim-1.11310
Jetzt ein Beispiel von Josef G.:
A wird nach unten durch V rotiert
A wird s Bitstellen nach oben verdreht
Nach dem Einlesen dieses OpCodes
mit FE wird statt eines BN ein BP ausgegeben.
Vielleicht sollten wir Josefs Projekt mal den Chinesen zum Übersetzen
geben. Wäre vielleicht sogar verständlicher...
Marktwächter schrieb:> Vielleicht sollten wir Josefs Projekt mal den Chinesen zum Übersetzen> geben. Wäre vielleicht sogar verständlicher...
Bitteschön ;-)
Josefisch
A wird nach unten durch V rotiert
A wird s Bitstellen nach oben verdreht
Nach dem Einlesen dieses OpCodes
mit FE wird statt eines BN ein BP ausgegeben.
Chinesisch
A xiàng xià xuánzhuǎn tōngguò V.
A xiàngshàng xuàn zhuǎn s wèi
kàn wán zhège OpCode zhīhòu
yǔ FE yīqǐ fāxíng BP ér bùshì BN
und zurück auf Deutsch
A dreht sich nach unten durch V.
A dreht sich ein bisschen nach oben
Nach dem Lesen dieses OpCode
Release BP statt BN mit FE.
Ich hoffe jetzt ist alles viel verständlicher ;-)
Josef G. schrieb:> Noch ein Versuch:
Aber man muss zumindest so ehrlich sein, dass die Richtung stimmt. Das
ist schon wesentlich lesbarer wie die kryptische Doku die du sonst so
hast. Der Weg ist der richtige, aber am Ziel bist du noch nicht
angekommen ;-)
Ich habe gerade das FPGA-Erklärungsvideo vom EEV-Blog angeschaut und ich
muss sagen man muss schon Respekt vor Leuten haben die damit etwas
zustande bringen :-)
Ich habe hier ein paar Bücher zum 6502. Der ist jetzt wirklich nicht so
kompliziert. Das MOS Programmier Handbuch dafür hat immerhin 140 Seiten
plus ca 40 Seiten Anhang. Rodnay Zaks hat immerhin ca 430 Seiten
gebraucht. Der Kurs vom 64er "Assembler ist keine Alchemie" braucht auch
so um die 70 Seiten. Da könntest du schon ein bisschen mehr
dokumentieren.
Beispiele: Erkläre mal alle Register. Ich musste in den in den CPU Code
schauen (nicht sehr übersichtlich) um zu begreifen, dass X, Y und Z
Register 16 Bit haben... habe sie doch, oder? Und Akku A und B (jeweils
8-Bit) sind zusammen D (16 Bit), wie beim HC11, oder?
Also:
1) Register erklären (mir ist z.B. unklar, welches der Stackpointer ist)
2) Erkläre dann man die grundlegenden Befehle, also:
AN - And
NR - Nor
XR - Xor
AV - Add mit Carry, V ist das Carry-Flag (warum nicht C?)
SV - Substract mit Carry (A-B)
LV - Substract mit Carry (andersherum B - A)
GT - Get, Wert in Akku A laden
ST - Store, Wert vom Akku in Register oder im Speicher/RAM abspeichern.
3) Dann erkläre die Adressierungsarten, anhand eines Befehls, also:
GT.B - Lade den Akku A mit Inhalt von Akku B
GT. 01 - Lade den Wert 01 in den Akku (Unklar: Dezimal, Hex, ...), also
unmittelbar
GTMX - Lade Akku A mit dem Inhalt der Speicheradresse, auf die das
X-Register zeigt
GTMY - GTMX - Lade Akku A mit dem Inhalt der Speicheradresse, auf die
das Y-Register zeigt
[...]
(%) bedeutet wohl, den Inhalt auf den das Register % zeigt (indirekt)
% ist der Inhalt des Registers selbst (direkt)
Gibt es neben unmittelbar, Register direkt und Register indirekt noch
weitere Adressierungsarten? Speicher direkt scheint es ja nicht zu
geben.
Wie läd' man eine 16-bit Adresse in das X, Y oder Z Register?
Also z.B. 0x1234 ins X Register?
Ich halte IX0, um das X-Register um eines zu erhöhen, übrigens auch für
suboptimal... warum nicht IX1 bis IX8?
Was ist K und P?
GTA nn K <= 00nn
GTR nn K <= P+nn+3
ADR nn K <= K+P+nn+3
2⁵ schrieb:> ...
Die neue Beschreibung der Befehle habe ich inzwischen
auch in den Artikel eingebaut: 8bit-CPU: bo8
Die meisten Fragen werden im Artikel beantwortet.
Eine erläuternde Beschreibung zur CPU findet sich auch
im Artikel zum Gesamt-Projekt: 8bit-Computer: bo8h> um zu begreifen, dass X, Y und Z Register 16 Bit haben> Und Akku A und B (jeweils 8-Bit) sind zusammen D (16 Bit)
Steht zwar nicht explizit im Artikel zur CPU, aber dort
findet sich die Breite von Adressbus und Datenbus. Und
es ergibt sich aus der Pseudo-Grafik zu den Registern.
Was du hier D nennst, heisst bei mir K.
> mir ist z.B. unklar, welches der Stackpointer ist
Gibt es nicht. Siehe hierzu die Arbeitsweise des Sprungbefehls J..
> (%) bedeutet wohl den Inhalt auf den das Register % zeigt
So ist es.
> Gibt es neben unmittelbar, Register direkt und> Register indirekt noch weitere Adressierungsarten?
Nein.
> Wie läd' man eine 16-bit Adresse in das X, Y oder Z Register?> Also z.B. 0x1234 ins X Register?
1
GTA 34
2
AD. 12
3
ST.X
> Was ist K und P?
K ist Kurzbezeichnung für AB, P ist der Programmzähler
Josef G. schrieb:> Die meisten Fragen werden im Artikel beantwortet.
Dass etwas irgendwo steht reicht nicht.
Es muss in einer sinnvollen Strukturierung vorhanden sein, damit es
verständlich ist.
> Steht zwar nicht explizit im Artikel zur CPU
Du erkennst das Problem?
> Siehe hierzu die Arbeitsweise des Sprungbefehls J..
Gäbe es ein Kapitel mit dem Namen "Arbeitsweise des Sprungbefehls J..",
wäre das einfach.
>K ist Kurzbezeichnung für AB
Totaler Unsinn, der nur Verwirrung stiftet.
Es spart nur ein einziges Zeichen. Lass es weg und nenne es AB.
2⁵ schrieb:> Unklar: Dezimal, Hex, ...
Hex. Sollte klar sein durch die Zweistelligkeit von nn.
Würde im übrigen der hinter dem Projekt stehenden
Philosophie widersprechen, Dez zu verwenden.
Josef G. schrieb:> Sollte klar sein durch die Zweistelligkeit von nn.
nein?
> Würde im übrigen der hinter dem Projekt stehenden> Philosophie widersprechen, Dez zu verwenden.
Und wo ist das dokumentiert?
Ist es so dokumentiert, dass man es liest, bevor man mit diesen Zahlen
in Kontakt kommt?
Hallo, liebe Leute.
Hört doch endlich auf, auf Josef herumzutrampeln. Er will und kann
Eure Einlassungen nie verstehen. Das ist typisch für diese Krankheit.
Beim Autismus gibt es verschiedene Ausprägungen. Die Asperger-Variante
ist es offensichtlich nicht. Da würde Josef Alles in der dunklen Ecke
des Kellers für sich allein machen, und nie an die Öffentlichkeit
treten.
Eure Versuche, ihn zu belehren oder anzuleiten müssen ins Leere
laufen.
Autisten haben ein vorgegebenes Denkmuster. Davon abweichen geht nicht.
Fremde Einlassungen dazu kommen bei den Kranken überhaupt nicht an - als
ob sie nie geäußert wurden.
Wenn man solche Menschen umstimmen könnte, dann wären es nur
Ungebildete, die noch etwas Lernen können.
Bei Autisten geht das aber nicht, denn es ist eine (noch?) unheilbare
Krankheit!
Mein Vorschlag: ein Moderator hängt das Schloß uter den Thread oder es
antworten nur noch Jene, die dieselbe Krankheit haben und Josef deshalb
verstehen können.
Route 6. schrieb:> Autisten haben ein vorgegebenes Denkmuster. Davon abweichen geht nicht.> Fremde Einlassungen dazu kommen bei den Kranken überhaupt nicht an - als> ob sie nie geäußert wurden.
Findest Du es angemessen über Autismus zu reden und Leute hier zu
beleidigen? Der Josef kriegt eben einfach keine Doku hin und arbeitet
chaotisch. Zudem ist das sicher kein Profiprojekt sondern Bastelei.
Schau Dir lieber mal den Scheissdreck an, den man auf Github findet:
Hingerotze Codes ohne Doku at all! Da gibt es überhaupt nichts dazu. Das
Gleiche auf anderen open source Plattformen.
Die meisten Entwickler sind unfähig eine schlüssig Doku zu liefern.
Selbst in beruflichen Projekten.
Gu. F. schrieb:> Josef G. schrieb:>>> Was ist K und P?>>>> K ist Kurzbezeichnung für AB>> Genial!
Da muss man erst mal drauf kommen. Ich z.B. hätte jetzt vermutet, das K
die Kurzform für K und A ist als den Komponentenakku, den man mit dem
Triple-Load-Befehl in die Ultra-Ionen-Register schreibt.
@Radler (Gast)
>> Autisten haben ein vorgegebenes Denkmuster. Davon abweichen geht nicht.>> Fremde Einlassungen dazu kommen bei den Kranken überhaupt nicht an - als>> ob sie nie geäußert wurden.>Findest Du es angemessen über Autismus zu reden und Leute hier zu>beleidigen?
Das ist keine Beleidigung sondern eine sachliche Feststellung, auch wenn
sie von medizinischen Laien kommt.
> Der Josef kriegt eben einfach keine Doku hin und arbeitet>chaotisch.
Er ist auch kommunikationsbehindert.
> Zudem ist das sicher kein Profiprojekt sondern Bastelei.
Mag sein.
>Schau Dir lieber mal den Scheissdreck an, den man auf Github findet:>Hingerotze Codes ohne Doku at all! Da gibt es überhaupt nichts dazu. Das>Gleiche auf anderen open source Plattformen.
Das steht gar nicht zur Debatte.
>Die meisten Entwickler sind unfähig eine schlüssig Doku zu liefern.>Selbst in beruflichen Projekten.
Stimmt. Macht die Sache aber nicht besser.
Ich kenne das: das Projekt ist im Kopf schon ziemlich fertig, nur
Details und Doku sind eine schwere Nummer. Man muss es nicht nur
notieren sondern auch noch schön formatieren ...
Radler schrieb:> Findest Du es angemessen über Autismus zu reden und Leute hier zu> beleidigen?
Findest du es beleidigend, wenn ich sage meine Frau ist grippekrank?
Seit wann ist Krankheit ein Beleidigungstatbestand.
Ich bin zwar kein Mediziner, hatte aber beruflich und im privaten Umfeld
mit verschiedensten Formen und Ausprägungen des Autismis zu tum.
Josef ist eindeutig dort einzuordnen.
Die Frage der Dokumentation ist ja nur ein Bruchteil der Symtome...
Route 6. schrieb:> Findest du es beleidigend, wenn ich sage meine Frau ist grippekrank?
Wenn sie nicht grippekrank ist, dann ja.
Es ist einfach unverschämt jemanden "behindert" zu nennen, wenn man
nicht weiß, ob das eine Tatsache ist.
Route 6. schrieb:> Seit wann ist Krankheit ein Beleidigungstatbestand.> Ich bin zwar kein Mediziner, hatte aber beruflich und im privaten Umfeld> mit verschiedensten Formen und Ausprägungen des Autismis zu tum.
Das wundert doch etwas, dass du dann von „Krankheit“ sprichst.
Gibt es eigentlich irgendwo Angaben, wie gross deine CPU ist? Also FFs,
LUTs, etc.? Und wie sieht es mit maximaler Taktfrequenz und
Instruktionen/Sekunde aus?
In deiner Doku habe ich nicht wirklich was gefunden...
Stephan N. schrieb:> Gibt es eigentlich irgendwo Angaben, wie gross deine CPU ist?
Habe ich vor langer Zeit mal herauszufinden versucht:
Beitrag "Re: Ein 8bit-Rechner auf dem Spartan-3A-Starterkit"
Die Zahlen sind nicht mehr aktuell, da ich seitdem vieles
am Code geändert habe. Neue Zahlen habe ich nicht parat.
> Und wie sieht es mit maximaler Taktfrequenz> und Instruktionen/Sekunde aus?
Das weiss ich nicht. Du sprichst hier einen wunden Punkt an.
Ich habe bisher um die Beschäftigung mit Timing-Constraints
einen großen Bogen gemacht, das ist mir alles zu kompliziert.
Das Projekt ist halt ein Bastler-Projekt.
Natürlich habe ich versucht, in den Kombinatorik-Netzen
die Zahl der Ebenen in etwa abzuschätzen und alles
einigermaßen ausgewogen zu verteilen.
In meiner aktuellen Realisierung dauert ein Vollzyklus,
bestehend aus den Halbzyklen tA und tB, 640 Nanosekunden.
Befehle dauern 1 oder 2 oder 3 Vollzyklen.
Marie schrieb:> Josef G. schrieb:>> Die meisten Fragen werden im Artikel beantwortet.>> Dass etwas irgendwo steht reicht nicht.> Es muss in einer sinnvollen Strukturierung vorhanden sein, damit es> verständlich ist.>>> Steht zwar nicht explizit im Artikel zur CPU>> Du erkennst das Problem?
@Marie: erkennst du das Problem?
vor 4 Jahren schon ähnliche Vorschläge und hat Josef seine Doku
geändert?....
Beitrag "Re: 8bit-Computing mit FPGA">>> Siehe hierzu die Arbeitsweise des Sprungbefehls J..>> Gäbe es ein Kapitel mit dem Namen "Arbeitsweise des Sprungbefehls J..",> wäre das einfach.
Stephan N. schrieb:> Gibt es eigentlich irgendwo Angaben, wie gross deine CPU ist? Also FFs,> LUTs, etc.? Und wie sieht es mit maximaler Taktfrequenz und> Instruktionen/Sekunde aus?
Siehe Anhang.
Ob das Design (noch) läuft, kann ich gerade mangels Hardware nicht
testen.
Xilinx Synthesedienst schrieb:> Siehe Anhang.
Der gezeigte Ressourcen-Verbrauch gilt natürlich
für das Gesamtsystem, nicht für die CPU allein.
Das lokal geroutete cl2 im Clock-Report hatte ich
auch. Das führt jedoch nicht zu Fehlern, weil die
mit cl2 getakteten Flipflops nicht gleichzeitig
geschrieben und gelesen werden und deshalb
nicht genau gleichzeitig takten müssen.
Typleitungen ändern ihren Zustand zu Zeitpunkten 0 und 2.
Adressen und Write-Daten sind gültig von Zeitpunkt 0 bis 2.
Einlesen von REP zu Zeitpunkten 1 und 3.
Einlesen von Read-Daten zum Zeitpunkt 1.
In einer ASIC-Realisierung der CPU als Einzelbaustein würde
man Adressbus und Datenbus bereits zum Zeitpunkt 1 hochohmig
schalten. Dann stünden die Busse während der tB-Phasen für DMA
oder einen Coprozessor zur Verfügung, und Treiberkonflikte an
den Übergängen von tA und tB wären zuverlässig ausgeschlossen.
Innerhalb eines FPGA ist das nicht nötig, da es dort keine
Tristate-Busse gibt und diese durch Logik ersetzt werden.
Vielleicht fände es jemand deshalb besser, im FPGA auch
Read-Daten erst zum Zeitpunkt 2 einzulesen. Dann stünde
für lesende Speicherzugriffe mehr Zeit zur Verfügung.
Dabei ergäbe sich jedoch folgendes Problem:
Der Befehl H.. liest zunächst den folgenden OpCode ein.
Falls das ein J.. ist, wird während tB statt BN ein BP
ausgegeben, was eine memory-page-Umschaltung für P
bewirkt, und das nachfolgende HA/BN unterbleibt.
Würde H.. den folgenden OpCode erst zum Zeitpunkt 2 einlesen,
dann könnte H.. nicht bereits ab Zeitpunkt 2 statt BN ein BP
ausgeben. Die Entscheidung müsste etwas später erfolgen. Für
die memory-page-Umschaltung bliebe immer noch genug Zeit.
Jedoch würde das Konzept der Typleitungen durchbrochen,
welche sich nur zu Zeitpunkten 0 und 2 ändern.
Als Alternative habe ich mir folgende Lösung überlegt:
H.. gibt nach dem Einlesen des folgenden Opcodes in jedem Fall
statt BN ein BP aus. Zusätzlich wird auch nach HA stets ein BP
statt BN ausgegeben. Falls also auf H.. kein J.. folgt, hebt
das zweite BP die page-Umschaltung des ersten BP wieder auf.
Ob ich selber noch dazu komme, diese Idee umzusetzen,
weiss ich nicht. Deshalb habe ich sie hier mitgeteilt.
Josef G. schrieb:> H.. gibt nach dem Einlesen des folgenden Opcodes in jedem Fall> statt BN ein BP aus. Zusätzlich wird auch nach HA stets ein BP> statt BN ausgegeben. Falls also auf H.. kein J.. folgt, hebt> das zweite BP die page-Umschaltung des ersten BP wieder auf.
Und noch ein Teil für die Sammlung der kuriosesten Sätze aller Zeiten.
Marktwächter schrieb:> Und noch ein Teil für die Sammlung der kuriosesten Sätze aller Zeiten.
:-)
Josef G. schrieb:> Ob ich selber noch dazu komme, diese Idee umzusetzen,> weiss ich nicht.
Wer, wenn nicht Du?
Josef.
Ob da ein "<=" oder "wird zu" steht macht keinen Unterschied. Darum geht
es auch nicht.
Josef G. schrieb:> O.cc nn wenn cc dann ( P <= P+nn+3 )
Was bedeutet das O?
Wie merke ich mir, dass bei diesem Befehl "P" verändert wird?
und warum wird 3 addiert? warum nicht 2? oder 69?
Der Befehl könnte auch einfach heißen:
AddToP.cc nn
Und wenn man dann eine 3 hinzuaddiert haben möchte schreibt man noch:
AddToP.cc 3
und fertig. Das wäre schön leserlich.
> B.cc nn wenn cc dann ( P <= P-nn-1 )
B... wofür steht das?
Wie merke ich mir, dass hier subtrahiert wird?
Und wo kommt die -1 her?
Warum nicht: SubFromP.cc nn
> B.CN nn wenn nicht S=0 dann ( P <= P-nn-1 , S <= S-1 )
Ach du meine Güte...
Wofür steht B? Wofür C und wofür N?
Und für was benötigt man solch einen Befehl?
Kann man nicht einfach einen bedingten Sprung zu einer Stelle ausführen,
wo dann P <= P-nn-1 und S <= S-1 gemacht wird?
Also quasi so:
JMP.SNZ label # Jump if S Not Zero
...
label:
DEC P # Decrement P
SUB P, nn # Subtract nn from P
DEC S # Decrement S
Wäre doch viel besser lesbar und übersichtlicher.
adam schrieb:> ...> Josef G. schrieb:>> O.cc nn wenn cc dann ( P <= P+nn+3 )>> Was bedeutet das O?> Wie merke ich mir, dass bei diesem Befehl "P" verändert wird?> und warum wird 3 addiert? warum nicht 2? oder 69?
O.cc nn omit Vorwärtssprung falls cc
P ist der Programmzähler
P Adresse des OpCodes
P+1 Adresse des Distanzbytes nn
P+2 erstes nachfolgendes Byte
P+3 zweites nachfolgendes Byte
Der Offset 3 ist so gewählt, dass mindestens 1 nach-
folgendes Byte übersprungen wird (wenn also nn = 0 ist).
>>> B.cc nn wenn cc dann ( P <= P-nn-1 )>> B... wofür steht das?> Wie merke ich mir, dass hier subtrahiert wird?> Und wo kommt die -1 her?
B.cc nn back Rückwärtssprung falls cc
P-1 ist die Adresse des letzten Bytes vor dem OpCode.
Der Offset -1 ist so gewählt, dass mindestens dieses
eine Byte wiederholt wird (wenn also nn = 0 ist)
>>> B.CN nn wenn nicht S=0 dann ( P <= P-nn-1 , S <= S-1 )>> Wofür steht B? Wofür C und wofür N?
B.CN back , counting> Und für was benötigt man solch einen Befehl?
Zur Beschleunigung von Zählschleifen. S ist der Schleifenzähler.
Vergleiche hierzu auch den Befehl DJNZ des Z80.
Hallo Josef,
es geht nicht darum, dass Du in diesem Thread die offenen Fragen und
missverständlichen Themen erklärst, sondern all diese Informationen
gehören in die strukturierte Projektdokumentation. Jemand, der diesem
Thread nicht folgt und nur Deine Projektdateien kennt, wird die
Informationen nicht erhalten.
Nimm Dir doch einfach ein normales Lehrbuch für eine der etablierten
Prozessorarchitekturen als Vorlage, d.h. gerne etwas aus der 8-Bit-Ära
der 1980er Jahre. In solchen Büchern findet man immer eine
zusammenhängende Beschreibung aller Register, d.h. mit dem jeweiligen
Verwendungszweck, der Breite usw.. Dann werden die Adressierungsarten
definiert und im Detail erklärt. Und zuguterletzt folgt dann der
eigentliche Befehlssatz, bei dem jeder einzelne Befehl erklärt wird, und
zwar unter Zuhilfenahme der vorherigen Erläuterungen zu Registern und
Adressierungsarten.
Genauso bedarf es auch noch Kapitel über die Hardwarearchitektur, d.h.
Busse, Timing, Adressräume, Taktung, usw..
Wenn man einen Prozessor mit vielen Registern und recht orthogonalem
Befehlssatz (also nicht bo8) hat, sollten auch Konventionen für die
Registernutzung festgelegt werden. Bei "klassischen" ARM-Prozessoren im
32-Bit-Modus wurden z.B. R13 für den Stackpointer und R14 als
Linkregister definiert, obwohl eigentlich alle Register (außer dem PC
R15) hierfür hätten verwendet werden können. ARM hat diese Konventionen,
die insbesondere für Compilerhersteller von allergrößter Wichtigkeit
sind, als APCS bzw. ATPCS (ARM(/Thumb) procedure calling standard)
benannt.
Andreas S. schrieb:> Jemand, der diesem> Thread nicht folgt und nur Deine Projektdateien> kennt, wird die Informationen nicht erhalten.
Auf bo8h.de ist meine mikrocontroller.net-Benutzerseite
verlinkt. Dort finden sich Links zu den Forenbeiträgen.
Und in den beiden Artikeln zum Gesamtsystem und
zur CPU wird auf die Forenbeiträge verwiesen.
Das ist doch absoluter Murks. Alle Grundlagen MÜSSEN in der
Dokumentation an einer Stelle stehen, und zwar in sinnvolle Kapitel
eingeteilt. Nur ergänzende Informationen dürfen extern verlinkt sein.
Ansonsten wird sich niemand die Mühe machen, alles durchzuarbeiten.
Stelle Dir doch vor, Xilinx würde Deine Vorgehensweise umsetzen. Statt
der sehr umfangreichen Handbücher zu so ziemlich jeder Kleinigkeit der
Bausteine und Toolchain (und noch etliche andere Dinge) stünde dort nur
noch ein kleiner Teil. Und den Rest findet man nur noch als Diskussion
in irgendwelchen Elektronikforen. Na super.
Aber irgendwie hat Xilinx das anders gemacht, d.h. sie haben erkannt,
dass die sehr umfangreichen Handbücher eine übergreifende Verwaltungs-
und Suchfunktion benötigen. Folglich gibt es den DocNav. Das ist also
genau das Gegenteil der von Dir propagierende Zerfledderung der
Dokumentation.
Wie viele Leute würden einen Microblaze einsetzen, wenn sie sich dessen
Dokumentation zwingend in Internetforen zusammensuchen müssten?
Josef G. schrieb:> Dort finden sich Links zu den Forenbeiträgen.
Also wie bei den Ludolfs.
Ist alles da, irgendwo in dem großen Haufen, unter all dem Schrott der
sich so angesammelt hat.
Ja, hört sich nach einem tollen System an.
Die Doku ist zwar Müll, dafür ist der Code aber unleserlich.
Das System macht zwar nichts besser als hervorragend dokumentierte MCUs,
dafür gibt es aber wenigstens keine erkennbare Codebasis, keinen
Compiler und kryptische ASM Mnemonics.
Der einzige Entwickler ist zwar vollkommen unsteuerbar und
beratungsresistent, dafür gibt es aber eine riesige Community die das
Teil nicht mit der Kneifzange anfassen würde.
Ich frage mich nur warum Du so viel Zeit darin investierst wenn es Dir
doch offensichtlich vollkommen egal ist das es in diesem Zustand von
niemanden verwendbar ist und auf dieser Basis auch niemand bereit sein
wird sich an diesem Projekt zu beteiligen.
Noch nicht mal als Referenzprojekt für Bewerbungen taugt es.
Jeder Personaler wird die Hände über den Kopf zusammenschlagen wenn er
Deine isolierte Arbeitsweise sieht und Deine fehlende Bereitschaft auf
Feedback einzugehen.
Als Spaßprojekt das niemanden ausser Dir gefallen muss, sicher ganz
tauglich.
@ Michael K. (Firma: Knoelke Elektronik) (knoelke)
>Ich frage mich nur warum Du so viel Zeit darin investierst wenn es Dir>doch offensichtlich vollkommen egal ist das es in diesem Zustand von>niemanden verwendbar ist und auf dieser Basis auch niemand bereit sein>wird sich an diesem Projekt zu beteiligen.
Ich frage mich, warum DU noch nicht kapiert hast, wo das grundlegende
Problem WIRKLICH liegt?
Beitrag "Re: 8bit-Computing mit FPGA"
Josef G. schrieb:> Natürlich habe ich versucht, in den Kombinatorik-Netzen> die Zahl der Ebenen in etwa abzuschätzen und alles> einigermaßen ausgewogen zu verteilen.
Bei heutigen FPGA wird Kombinatorik in LUTs realisiert, d.h. bereits das
Synthesetool fasst sehr vieles zusammen, sofern LUTs mit der
entsprechenden Anzahl von Eingängen verfügbar sind. Um also den
Ressourcenverbrauch und/oder die Signallaufzeiten zu optimieren, sollte
man sich eher anschauen, wie die eigene Logik durch das Synthesetool
abgebildet wird. Und hierbei hilft ein Blick in den generierten
Schaltplan ganz ungemein. Lothar Miller hat auf seiner Homepage auch ein
paar schöne Beispiele aufgeführt.
Falk B. schrieb:> Ich frage mich, warum DU noch nicht kapiert hast, wo das grundlegende> Problem WIRKLICH liegt?
Och Falk, das habe ich schon lange kapiert.
Ich schreibe hier aus dem gleichen Grund wie Du: Zerstreuung...
Typleitungen ändern ihren Zustand zu Zeitpunkten 0 und 2.
Adressen und Write-Daten sind gültig von Zeitpunkt 0 bis 2.
Einlesen von REP zu Zeitpunkten 1 und 3.
Einlesen von Read-Daten zum Zeitpunkt 1.
Josef G. schrieb:>> ...> ...>> Vielleicht fände es jemand deshalb besser, im FPGA auch> Read-Daten erst zum Zeitpunkt 2 einzulesen. Dann stünde> für lesende Speicherzugriffe mehr Zeit zur Verfügung.>> Dabei ergäbe sich jedoch folgendes Problem:>> Der Befehl H.. liest zunächst den folgenden OpCode ein.> Falls das ein J.. ist, wird während tB statt BN ein BP> ausgegeben, was eine memory-page-Umschaltung für P> bewirkt, und das nachfolgende HA/BN unterbleibt.>> Würde H.. den folgenden OpCode erst zum Zeitpunkt 2 einlesen,> dann könnte H.. nicht bereits ab Zeitpunkt 2 statt BN ein BP> ausgeben. Die Entscheidung müsste etwas später erfolgen. Für> die memory-page-Umschaltung bliebe immer noch genug Zeit.> Jedoch würde das Konzept der Typleitungen durchbrochen,> welche sich nur zu Zeitpunkten 0 und 2 ändern.>> Als Alternative habe ich mir folgende Lösung überlegt:>> H.. gibt nach dem Einlesen des folgenden Opcodes in jedem Fall> statt BN ein BP aus. Zusätzlich wird auch nach HA stets ein BP> statt BN ausgegeben. Falls also auf H.. kein J.. folgt, hebt> das zweite BP die page-Umschaltung des ersten BP wieder auf.
Habe das jetzt so umgesetzt. Das Einlesen von
Read-Daten erfolgt jetzt erst zum Zeitpunkt 2.
8bit-CPU: bo8
Eigentlich habe ich mir angewöhnt, negative Bewertungen
zu ignorieren. Aber bei meinem vorherigen Beitrag würde
es mich schon interessieren, woran es liegt.
Gibt es etwa hier jemanden, der das Einlesen
der Read-Daten zum Zeitpunkt 1 besser fand?
Josef G. schrieb:> PS: Als ich das schrieb, stand die Bewertung auf -3.
Der Umstand sollte Dir zu denken geben, dass der Fankreis für die
Zwangsstörung größer zu sein scheint, als der Fankreis für die Sache
selbst.
Josef G. schrieb:> Eigentlich habe ich mir angewöhnt, negative Bewertungen> zu ignorieren. Aber bei meinem vorherigen Beitrag würde> es mich schon interessieren, woran es liegt.>> Gibt es etwa hier jemanden, der das Einlesen> der Read-Daten zum Zeitpunkt 1 besser fand?
Nein, es interessiert hier niemanden auch nur die Bohne, zu welchem
Zeitpunkt das Einlesen stattfindet, weil sich niemand außer Dir selbst
mit den Interna des bo8 beschäftigt. Die wenigen Leute, die vor langer
Zeit daran interessiert waren, hast Du mittlerweile sehr erfolgreich
vergrault.
Wir haben hier schon Unmengen an Ratschlägen gegeben, wie du das
Interesse steigern könntest. Statt auf diese einzugehen, bügelst Du sie
nur ab und frickelst weiter an dem Prozessor herum. Spätestens mit den
immer wieder stattfindenden Befehlssatzänderungen vertreibst Du nicht
nur die Leute, die an der Hardware interessiert wären, sondern jeden,
der für den bo8 Software schreibt. Solche Änderungen bedeuten im
Zweifelsfall, vorhandene Programme Zeile für Zeile durchgehen zu müssen,
um zu schauen, wo es inkompatibel wurde.
Dein Projekt ist und bleibt also nichts anderes als eine
Modelleisenbahnanlage, an der nur Du herumbastelst. Als Bastler kann man
damit sehr viel Spaß haben, und wenn man solch eine Anlage alle paar
Monate oder Jahre seiner Familie oder Bekannten vorführt, bekommt man
für eine schöne Anlage auch viel durchaus ernstgemeintes Lob. Niemand
käme jedoch auf die Idee, mitbasteln zu wollen (, außer z.B. meiner
Frau, die mit größter Begeisterung Häuser zusammenbaut), sondern würde
lieber eine eigene Anlage aufbauen wollen. Natürlich kann man auch an
einer Clubanlage herumbasteln, aber das ist nur etwas für ganz
hartgesottene Waldschrate.
Erfolgreiche große Modellbahnen werden nicht von Leuten aufgebaut und
betrieben, die eigentlich nur im eigenen stillen Kämmerchen basteln
wollen, sondern von Profis, die aus den verschiedensten Gewerken
stammen. Und das sind nicht nur Handwerker, sondern auch Kaufleute,
Marketingleute, usw..
https://www.miniatur-wunderland.de/
Andreas S. schrieb:> es interessiert hier niemanden auch nur die Bohne,
Wäre schön, wenn die Leute, die an der Sache nicht
interessiert sind, hier einfach wegbleiben würden.
Dann würde der Thread nicht durch sachfremde
Beiträge so aufgebläht, und die sachlichen
Beiträge wären leichter zu finden.
Josef G. schrieb:> Wäre schön, wenn die Leute, die an der Sache nicht> interessiert sind, hier einfach wegbleiben würden.
MWS hat das schon sehr zutreffend formuliert.
Josef G. schrieb:> Wäre schön, wenn die Leute, die an der Sache nicht> interessiert sind, hier einfach wegbleiben würden
Dir ist schon klar, dass es hier das uC.net ist?
Wenn du sachlich willst, musst du in ein Forum gehen bei dem
Mods unsachliche Beiträge löschen. Und mit unsachliche Beiträge meine
ich nicht Kritik an den Mods (die hier gelöscht wird) sondern
unsachliche Beiträge
die nichts mit dem Titel zu tun hat (die hier stehen gelassen werden).
Josef G. schrieb:> Wäre schön, wenn die Leute, die an der Sache nicht> interessiert sind, hier einfach wegbleiben würden.
Dann würde außer dir aber keiner schreiben...
Beitrag "Re: Gibt es eine Programmiersprache mit diesem Schleifentyp?">> du hingegen hast hier Arbeit auf 2 Befehle aufgeteilt (S.RP und R.IY)>> d.h. man muss fairerweise auch die Zeit von beiden addieren..>> Nein, man muss die Zeiten nicht addieren. Das S.RP steht> ausserhalb der Schleife und wird nur 1-mal ausgeführt.
Habe gerade im Artikel zum Gesamtsystem im Abschnitt zur CPU
eine missverständliche Formulierung entdeckt. Da stand, die
Schleifenstartadresse R werde gesetzt am Schleifenanfang.
Tatsächlich wird sie gesetzt vor dem Schleifenanfang.
Möchte hier darauf hinweisen für den Fall, dass
die Falschinformation jemanden vergrault hat.
8bit-Computer: bo8h
Josef G. schrieb:> Wäre schön, wenn die Leute, die an der Sache nicht> interessiert sind, hier einfach wegbleiben würden.
Du suchst Die Öffentlichkeit und Du findest sie auch, nur nicht die
Öffentlichkeit die Du gerne hättest.
Es wurde sowohl inhaltlich über die BO8 (teilweise sehr fachlich
fundiert) als auch über die Art Deiner Dokumentation gesprochen.
Da man bei Dir aber das Gefühl hat mit einer Parkuhr zu sprechen und
keine der Rückmeldungen zu wesentlichen Änderungen geführt hat, wird
nunmal überwiegend darüber gesprochen warum keiner mehr Bock hat sich
das weiter anzutun.
Du möchtest Anwender und Mitstreiter, aber es gelten ausschliesslich
Deine Regeln dabei.
Das funktioniert schon im Job nicht und es funktioniert auch ganz
bestimmt nicht hier.
Da Du da aber vollkommen beratungsresistent bist, unterhalten wir uns
über den Grad der Behinderung.
Verständlich für die meisten, für Dich natürlich nicht, was ja wiederum
Teil der Diskussion ist.
Wenn Dir das nicht gefällt, ist das hier ganz bestimmt das falsche
Forum.
Anarchie bedeutet die Diktatur der Masse.
Leb damit oder nicht.
Andreas S. schrieb:> Spätestens mit den immer wieder stattfindenden> Befehlssatzänderungen vertreibst Du nicht nur> die Leute, die an der Hardware interessiert wären,> sondern jeden, der für den bo8 Software schreibt.
Hier eine Zusammenstellung aller durchgeführten Änderungen
Ursprünglich gab es die Operationen
1
AZ.A A <= A+V V <= Carry
2
SZ.A A <= A-V V <= Carry
3
LZ.A A <= 0-A-V V <= Carry
Sie wurden für kurze Zeit ersetzt durch
1
NA.A A wird arithmetisch negiert
2
NA.K K wird arithmetisch negiert
3
ZO.K K <= 0
Die ersten zwei Ersetzungen wurden rückgängig gemacht,
AZ.A und SZ.A heissen jetzt IV.A und DV.A
1
IV.A A <= A+V V <= Carry
2
DV.A A <= A-V V <= Carry
3
ZO.K K <= 0
Und die Befehle wurden neu angeordnet.
Hinzu kommen folgende Änderungen bei den Mnemonics:
Die logischen Negationen NG.* heissen jetzt NE.*
EX.B (Austausch von A und B) heisst jetzt TK8
Das ist der Stand seit Juni 2016.
Beitrag "Re: 8bit-Computing mit FPGA"
Es gab noch eine Änderung bei der Codefolge H.. H..
Beitrag "Re: 8bit-Computing mit FPGA"
Josef G. schrieb:> Immerhin habe ich die Befehlssatz-Beschreibung geändert.
Ja ...
Im Josef Style.
Die Anregung die BO8 so zu dokumentieren wie es jeder andere MCU
Hersteller tut ist aber wirkungslos an Dir abgeprallt.
Du siehst die Notwendigkeit nicht und damit hat es auch für keinen
anderen notwendig zu sein.
Die Leute die Du versuchst anzusprechen verlangen aber eine bestimmte
Form der Dokumentation.
Die sind sie gewohnt, mit sowas können sie schnell und effizient
arbeiten.
Die bekommen sie nicht von Dir und daher bekommst Du nicht ihre
Mitarbeit.
Wie sagte Falk: Der Wurm muss dem Fisch schmecken, nicht dem Angler.
Ist ja okay, das kannst Du so machen, ist ja Dein Projekt.
Jetzt bleibt es aber auch Deins, weil die ernsthaft interessierten
längst weitergezogen sind.
Der Drops ist gelutscht.
Josef G. schrieb:> Typleitungen ändern ihren Zustand zu Zeitpunkten 0 und 2.> Adressen und Write-Daten sind gültig von Zeitpunkt 0 bis 2.
Also ehrlich, ich kapiere nicht, was das ist oder sein soll.
Ein Diagramm braucht eine Überschrift, eine Einleitung und einen Bezug.
Wenn man sich alles zusammensuchen muss, ist das nix.
Andreas S. schrieb:> Nein, es interessiert hier niemanden ..., zu welchem> Zeitpunkt das Einlesen stattfindet, weil sich niemand> außer Dir selbst mit den Interna des bo8 beschäftigt.
Der Einlese-Zeitpunkt ist keine interne Eigenschaft,
sondern durchaus von Bedeutung für die Anwendung.
Und die Verlegung von Zeitpunkt 1 auf Zeitpunkt 2
ist eine deutliche Verbesserung, durch welche es
vielleicht doch einmal Anwender geben wird.
Josef G. schrieb:> Und die Verlegung von Zeitpunkt 1 auf Zeitpunkt 2> ist eine deutliche Verbesserung, durch welche es> vielleicht doch einmal Anwender geben wird.
Allmählich glaube ich nicht mehr daran, dass bei Dir eine autistische
Störung vorliegt, sondern dass es sich um ein von Dir betriebenes
psychologisches Experiment handelt, bei dem Du die Reaktionen anderer
Forenmitglieder auf (vorgetäuschtes) autistisches Handeln beobachten
willst.
Früher gab es für echte 8-bit CPUs DIN-A4 grosse Beschreibungen
aller wesentlichen Register und Befehle, um damit arbeiten zu können.
War echt praktisch.
Meine erste 8-Bit CPU war noch mit Low Power Schottky TTL Logik
aufgebaut,
und die kompletten Schaltpläne passten auf eine Handvoll Seiten.
Ist ja nicht so kompliziert so eine winzige CPU...
Die Doku ist bei so einem Projekt ohnehin nicht so wichtig, wer sich
dafür
interessiert, muss halt mal reinbeissen, oder solls bleiben lassen.
Gerade gefunden, interessant auch wegen des Autors:
Beitrag "Re: Flankenerkennung schlägt fehl (VHDL)"> this_is_the_external_signal_that_should_be_evaluated_and_counted> merkst du, dass diese Unterstrichorgie extrem schlecht lesbar ist?
Tja, mein auf der Grundlinie liegender
Bindestrich ist wohl doch eine gute Idee.
Beitrag "Re: Vorschlag zu Hex-Ziffern auf 7-Segment-Anzeigen"
In dem Thread geht es auch um das Projekt.
> Ich meine, ein als Fertiggerät erhältlicher> Hobby-Computer mit einem kompletten Zeichensatz,> der einen echten Hex-Ziffernsatz enthält, würde> jedenfalls Neugier und Aufmerksamkeit erregen.> Schon allein wegen der Optik der Tastatur.
Es gibt nochmal eine kleine Änderung der CPU:
Das Einlesen des Datenbus in den Akku bei Reset habe ich
verschoben vom ersten Zeitpunkt 1 nach Reset-Ende auf den
ersten Zeitpunkt 2 nach Reset-Ende. Damit erfolgen jetzt
alle Lesezugriffe der CPU auf den Datenbus zum Zeitpunkt 2.
Josef G. schrieb:> Ein Vorteil meiner O- und B-Befehle für kurze Sprünge:> Man erkennt beim Lesen von Quelltext am Mnemonic,> in welcher Richtung man das Ziel-Label suchen muss.
Das ist kein Vorteil, sondern höchstens lästig. Die Suchfunktion
gehört in die IDE, nicht in den Assembler oder gar den Befehlssatz des
Prozessors.
Uhu U. schrieb:> Die Suchfunktion gehört in die IDE, nicht in den> Assembler oder gar den Befehlssatz des Prozessors.
In der Tat, wenn es nur um das Erkennen der Richtung beim
Suchen eines Ziellabels ginge, dann gehörte das nicht in den
CPU-Befehlssatz. Das war aber nicht der Grund für die O- und
B-Befehle, sondern es ging mir darum, in beiden Richtungen
die volle maximale 256-Byte-Distanz zur verfügung zu haben.
Ausserdem entfällt so der bei vorzeichenbehafteter Distanz
mögliche unsinnige Sprung auf das Distanz-Byte.
Josef G. schrieb:> Ausserdem entfällt so der bei vorzeichenbehafteter Distanz> mögliche unsinnige Sprung auf das Distanz-Byte.
Das ist ein sehr schwaches Argument, denn Sprünge mitten in andere
Befehle sind trotzdem möglich.
Uhu U. schrieb:> denn Sprünge mitten in andere Befehle sind trotzdem möglich.
Ja. Aber es ist kein möglicher Wert des Distanz-Bytes von vornherein
unsinnig, weil je nach Programm am Zielort ein gültiger OpCode stehen
kann. Bei vorzeichenbehafteter Distanz ist dagegen ein bestimmter Wert
des Distanz-Bytes immer unsinnig, ausser für irgendwelche Tricks,
wenn dieser Wert zufällig zB. ein NOP codiert.
Warum baust du die Erzeugung des passendenden OP-Codes nicht in die
Codegenerierung deines Assemblers ein, statt den Programmierer mit
solchem unmöglich zu pflegenden Mist zu behelligen?
Uhu U. schrieb:> Josef G. schrieb:>> Ein Vorteil meiner O- und B-Befehle für kurze Sprünge:>> Man erkennt beim Lesen von Quelltext am Mnemonic,>> in welcher Richtung man das Ziel-Label suchen muss.>> Das ist kein Vorteil, sondern höchstens lästig. Die Suchfunktion> gehört in die IDE, nicht in den Assembler oder gar den Befehlssatz des> Prozessors.
Du kannst wohl auch nicht von Josefs Krankheit lassen?
Falk B. schrieb:> Du kannst wohl auch nicht von Josefs Krankheit lassen?
Millionen Menschen haben sich für Geld den Film "Rain Man" angesehen...
Es ist die befriedigende Lust am Kranken/Exotischen/Anormalen.
'Und täglich grüßt das Bometier'
So spannend wie das Telefonbuch durchzulesen, um mal bei dem Rainman
Vergleich zu bleiben.
Ein Drama in 783 Akten ...
Fortsetzung folgt, ob wir wollen oder nicht.
Michael K. schrieb:> Fortsetzung folgt, ob wir wollen oder nicht.
Du kannst doch einfach für Dich selbst entscheiden, diese Fortsetzung
nicht bzw. nur sehr eingeschränkt mitzubekommen. Hierfür gibt es den
Link "Thread nicht mehr beobachten". Von Josefs Arbeit und Mitteilungen
geht doch keine Gefahr aus, die man im Auge behalten müsste.
Andreas S. schrieb:> Du kannst doch einfach für Dich selbst entscheiden, diese Fortsetzung> nicht bzw. nur sehr eingeschränkt mitzubekommen. Hierfür gibt es den> Link "Thread nicht mehr beobachten". Von Josefs Arbeit und Mitteilungen> geht doch keine Gefahr aus, die man im Auge behalten müsste.
Im Prinzip ja, aber diesen Thread hier (oder andere) bekommt man nicht
mehr aus der Liste "Threads mit meinen Beiträgen" entfernt. Oder? Also
wird man immer wieder, ob man will oder nicht, daran erinnert dass hier
jemand etwas Neues gepostet hat.
Hi bin bein stöbern auf deinem Forum gelandet. Hört sich ja interesand
an. ich mache auch kleine Projekte mit dem Z80 -> Z84c15 und bastle mit
Hardware herum. Könnte mir vorstellen einiges zusammen erarbeiten. Ideen
mit neuer Technik verbinden. Aus einfacher überschaubarer Hardware. Wenn
das Thema noch
interesand ist, würde ich mich gerne anschliesen.
Hallo Hansjörg,
hast Du Dir eigentlich die relevanten bo8-Threads im
Mikrocontroller-Forum einmal komplett durchgelesen? In aller
Unbescheidenheit verweise ich auf meinen folgenden Diskussionsbeitrag:
Beitrag "Re: 8bit-Computing mit FPGA"
Willst Du wirklich mit Josef zusammenarbeiten?
Hansjörg W. schrieb:> Könnte mir vorstellen einiges zusammen erarbeiten.
Zu Z80-Projekten kann ich leider nichts beitragen.
> Ideen mit neuer Technik verbinden.
Vielleicht könntest du einen Z80-Rechner bauen mit einem
hexadezimalen Ziffernsatz, so wie bei meinem Computer?
Hansjörg W. schrieb:> würde ich mich gerne anschliesen.
Hast du eines der FPGA-Boards, für die es bisher eine
Realisierung meines Rechners gibt? Oder du könntest
das System auf ein neueres aktuelles Board portieren.
---
Oder wäre das vielleicht etwas für ein Z80-Projekt?
https://www.mikrocontroller.net/topic/462616#5812687
Hi zusammen
Mein CPU Board habe ich selbst gemacht.
Ich habe die letzen Jahre Computer zur Sternenverfolgung gebaut und
beschlossen mir mal einen eigenen zu bauen. Der besteht aus 4x Z84c15
und einem eZ80F90 und einer FPU MC68882, mit MMC-Karte, IDE HD. Nach 4
Jahren tüfteln läuft er jetzt.
Die Details der projekte "hexadezimalen Ziffernsatz" müsste ich mir erst
mal anschauen. Einiges in der Art habe ich schon bei LCD-Displays
gemacht.
An sonsten ist mein System Z80... lastig, läst sich durch C, C++ auch
importien. In Asembler geht auch. An sonsten müsste ich wissen wir
gerade der Stand es Projekt ist. Hartware läst sich auch realisieren.
usw........
Hansjörg W. schrieb:> Ich habe die letzen Jahre
Schon beeindruckend. Das könnte ich alles nicht.
Hast du schon daran gedacht, dein Projekt in einem
eigenen Thread hier vorzustellen? Sehr wahrscheinlich
würdest du hier mehr Zuspruch erfahren als ich.
Nur verstehe ich nicht, wie das mit
meinem Projekt zusammengehen könnte.
> An sonsten müsste ich wissen wir gerade der Stand> es Projekt ist. Hartware läst sich auch realisieren.
Wäre natürlich schön, wenn du dich mit meinem Projekt
befassen würdest. Klicke mal auf meine Benutzerseite,
rechts neben dem Benutzernamen. Da findest du alle
Links. Neueres zum Stand des Projekts gibt es nicht.
Hi, ich muss noch ein Projekt zu ende bringen um mich dann hier im
einzelnen
enzubrinen. Vorab mache ich noch mein System startklar. Ich mache mir
eine Terminal Task frei um über Monitor Internet zuzugreifen. So kann
ich besser von Aussen arbeiten und muss nicht Zuhause sein. Es soll aber
mit geringster Hardware laufen mit maximalem Ergebniss. Ich würde
evetual eine FPU einbinden
somit auch Rechenleistung mit 72Bit(50MHz) zur verfügung steht.
Josef G. schrieb:> ---> Oder wäre das vielleicht etwas für ein Z80-Projekt?> https://www.mikrocontroller.net/topic/462616#5812687
Der Thread mit dem verlinkten Beitrag wurde gelöscht.
Das war der Inhalt des verlinkten Beitrags:
-----------------------------------------------------------------
Taschenrechner mit Nachkommastellen in nicht-dezimalen
Zahlensystemen scheint es tatsächlich nicht zu geben.
Da gibt es immerhin noch jemanden, der das für einen Mangel hält:
> Doch sogar bis heute ist die Implementierung der verschiedenen> Zahlensysteme immer noch lückenhaft: Sobald man das Dezimalsystem> verläßt, zeigt der Taschenrechner keine Nachkommastellen mehr an,> kennt keine Exponentialschreibweise mehr, keine Bruchrechnung und> es sind sämtliche trigonometrischen Funktionen (Sinus, Cosinus),> Logarithmen und Exponentialfunktionen gesperrt.http://zahlen.hoerde.net/
Das wäre doch mal eine Anregung für die Taschenrechner-Bauer
im Forum Projekte und Code.
-----------------------------------------------------------------
Uhu U. schrieb:> @ Josef:> In welchem Zahlensystem denkst/rechnest du eigentlich im täglichen> Leben?
Denken kann man das wohl nicht nennen. Eher passt träumen oder
phantasieren.
Route 6. schrieb:> Denken kann man das wohl nicht nennen. Eher passt träumen oder> phantasieren.
Die Frage an Josef ist exakt so gemeint, wie ich sie gestellt habe und
die kann auch kein anderer beantworten.
Uhu U. schrieb:> ...> Die Frage an Josef ist exakt so gemeint, ...
Da du so freundlich gefragt hast:
Meistens denke ich dezimal, so wie alle, die das als Kind
so gelernt haben und in dieser dezimal geprägten Gesellschaft
leben. Aber zB. bei runden Geburtstagen denke ich hexadezimal.
Josef G. schrieb:> Aber zB. bei runden Geburtstagen denke ich hexadezimal.
Das macht einen auf jeden Fall jünger. Außerdem fällt dann ein runder
Geburtstag nur alle 16 Jahre an. Ähem 0x10 Jahre meinte ich.
Frank M. schrieb:> Das macht einen auf jeden Fall jünger.
Aber nur, wenn man insgeheim eben doch dezimal denkt…
Josef G. schrieb:> Aber zB. bei runden Geburtstagen denke ich hexadezimal.
Also eigentlich gar nicht, denn so nutzt du ja die wichtigste
Eigenschaft von Hex-Zahlen, nämlich dass man damit rechnen kann,
überhaupt nicht.
Man kann Zahlen natürlich auch als Piktogramme ohne weitere Bedeutung
betrachten, dann muss man sich mit Zahlensystemen und ihren
mathematischen Eigenschaften nicht befassen - womit aber auch jegliche
Argumentation Hex versus Dec in sich zusammen bricht.
Es bleibt die Frage: Wozu willst du eigentlich den ganzen Aufwand mit
hex im Alltag treiben, wo doch für den Alltag das Zahlensystem, in dem
man denkt und rechnet im Wesentlichen egal ist? Es kommt nur darauf
an, dass man es kann und dass man sich damit mit seiner Umgebung
verständigen kann.
Uhu U. schrieb:> Es bleibt die Frage: Wozu ...
Weil ich einfach sicher bin, dass das Hex-System
früher oder später kommen wird. Die Argumente
habe ich auf meiner Website zusammengestellt.
Ubrigens habe ich die Seite ein wenig überarbeitet,
nachdem du früher schon einmal daraus zitiert hast.
Aber diese Diskussion haben wir schon in mehreren Threads
geführt. Mir fallen momentan keine neuen Argumente ein.
Beitrag "Einführung des Hexadezimalsystems"Beitrag "Vorschlag zu Hex-Ziffern auf 7-Segment-Anzeigen"
Josef G. schrieb:> Weil ich einfach sicher bin, dass das Hex-System
Quatsch - das effizienteste Zahlensystem ist trinär.
Das ist mathematisch bewiesen und dort geht die Zukunft hin. ;-)
Mampf F. schrieb:> Quatsch - das effizienteste Zahlensystem ist trinär.> Das ist mathematisch bewiesen und dort geht die Zukunft hin. ;-)
Da braucht man keine Ziffern: links, rechts, geradeaus genügen.
Das kann man auch sehr einfach auf kleinen Displays darstellen.
Josef hat da bestimmt schon für die häßlichen Siebensegmentanzeigen
Alternativen...
Mein Vorschlag: Duo-LEDs mit Aus, Rot, Grün
Falk B. schrieb:> Route 6. schrieb:>> Mein Vorschlag: Duo-LEDs mit Aus, Rot, Grün>> Und was machen die Rot/Grün Blinden?
Binär Aus/Ein ist halt doch besser.
Andreas S. schrieb:> Dazu fällt mir doch ein:> Beitrag "Re: Fehler zum nachbauen :-)"
Bei den Verkehrsampeln hat sich das Problem durch die Geometrie und die
früheren technischen (Un)Möglichkeiten gelöst…
Michael W. schrieb:> vielleicht eine schoene Idee fuer das naechste Projekt.
Welche Idee? Ich sehe da keine Idee.
Die Idee für dieses Projekt war der hexadezimale Ziffernsatz.
Wann wird der Unsinn hier endlich gesperrt?
Soll der Threadersteller seine Fantasien doch in Offtopic diskutieren.
Ums Projekt gehts doch hier schon lang nicht mehr!
Über soetwas wie die Einführung des Hexadezimalsystems im Alltag hab ich
bisher noch nie nachgedacht. Jedoch hab ich über das altbabylonische
Sexagesimalsystem gelesen, das es sich sehrwohl mit den Fingern abzählen
lässt.
https://de.wikipedia.org/wiki/Sexagesimalsystem#Einh%C3%A4ndiges_Z%C3%A4hlen_bis_12
und
https://de.wikipedia.org/wiki/Sexagesimalsystem#Zweih%C3%A4ndiges_Z%C3%A4hlen_bis_60
Mit einer leicht modifiziereten Methode würde man mit der einen Hand
ganz normal bis fünf zählen und dann mit dem Daumen der selben die drei
Hohlräume zwischen den Fingern. Macht acht. Dann an der rechten Hand das
gleiche und schon sinds 16.
Die Idee die Kompatibiltät mit dem Dezimalsystem zu erhöhen finde ich
gut. Neue Zeichen für 0-9a-fh einzuführen, das wär vor allem bei kleinen
Zahlen echt hilfreich.
An all die Hater: Ihr seids die das ganze bekannt machen und damit
beschleunigen.
Aufgemerkt schrieb:> Ihr seids die das ganze bekannt machen und damit> beschleunigen.
Was wird beschleunigt? Die allgemeine Einführung des Hexadezimalsystems
oder die Verschiebung ins Offtopic?
Aufgemerkt schrieb:> Mit einer leicht modifiziereten Methode würde man mit der einen Hand> ganz normal bis fünf zählen und dann mit dem Daumen der selben die drei> Hohlräume zwischen den Fingern. Macht acht. Dann an der rechten Hand das> gleiche und schon sinds 16.
Zudem hat das den Vorteil, dass sich damit Hand- und Kopfarbeit auf
natürliche Weise auf zwei Personen verteilen lassen: der eine zählt (und
trägt die Verantwortung), der andere schuftet…
>... lässt sich dieses Projekt nun nicht gerade werten. Das ergibt sich>aus der einfachen Formel ERFOLG = MÜHE × NUTZEN
Ich würde eher
ERFOLG = NUTZEN/MÜHE
als richtig einschätzen
Sonst würde man ja mit ewig + 3 Tage viel Mühe und minimalstem Nutzen
viel Erfolg erzielen...
Beitrag "Re: Vorschlag zu Hex-Ziffern auf 7-Segment-Anzeigen"Michael K. schrieb:> Josef G. schrieb:> ...>> Leider hat sich bisher niemand gemeldet.>> Verdammt, woran könnte das nur liegen?> Seit Jahren wird Dir erzählt was alles daran nicht stimmt.
-- memory-paging
-- fehlende Interrupts
-- 8-bit nicht mehr zeitgemäß
-- Akku-Architektur nicht mehr zeitgemäß
-- unkonventionelle Assembler-Mnemonics
-- unverständliche Dokumentation
Sonst fällt mir nichts ein.
Wurde sonst noch etwas kritisiert?
Josef G. schrieb:> Wurde sonst noch etwas kritisiert?
Ein weiterer Kritikpunkt war die unverständliche Implementation.
Aber ja, die wesentlichen Punkte hast du gut zusammengefasst. Jetzt
musst du da nur noch Abhilfe schaffen. :-)
S. R. schrieb:> Jetzt> musst du da nur noch Abhilfe schaffen. :-)
Das wird wohl nicht gelingen.
Selbst bei guter Dokumentation hat das System doch einfach für niemanden
irgendeinen Nutzen.
Die alten voluminösen Steckkartensysteme waren den sehr begrenzten
Fähigkeiten damaliger Halbleiter und veralteter Leiterplattentechnik
geschuldet.
In Schulungssystemen haben die noch eine Weile überlebt, gerade weil sie
sehr funktionsbeschränkt und relativ übersichtlich waren.
Joseph verfolgt ein Konzept das seit Jahrzehnten ausgestorben ist.
Mit einem aktuellen Mikrocontroller kann ich wohl wirklich jedes Detail
dieses systems locker in die Tasche stecken, mit einer mächtigen
Toolchain, debug port etc.
Warum sollte irgendjemand sich 30Jahre zurück in der Zeit bewegen
wollen, wenn er nicht aus nostalgischen Gründen ein Uraltsystem neu
beleben will.
Wenn ich ein System haben will das alles auf die möglichst
komplizierteste Weise tut, ohne Compiler und Debugger, dann krame ich
mein altes 8085 System raus, das ich in der Lehre gebaut habe.
Das kann wirklich nur der interessant finden der die Zeiten nicht erlebt
hat.
Der 8051 + Macro Assembler war damals eine Erlösung aus finsterer Zeit.
Wenn ich was mit FPGAs machen will, dann baue ich doch nicht etwas nach
was jeder MC 100 mal besser kann.
Michael K. schrieb:> ...> Die alten voluminösen Steckkartensysteme
Die Steckkarten sind bei mir Teil des Software-Konzepts.
In der Hardware können sie auch Teil der Hauptplatine sein.
> Mit einem aktuellen Mikrocontroller kann ich wohl wirklich> jedes Detail dieses systems locker in die Tasche stecken,
Taktgenau berechenbare Laufzeiten, Codeausführung
aus dem RAM, Flexibilität bei der Peripherie?
> dann krame ich mein altes 8085 System raus,
Nur 64K Adressraum. Meine CPU unterstützt Paging.
> Wenn ich was mit FPGAs machen will,
Es muss nicht für immer beim FPGA bleiben, vielleicht gibt
es die CPU und einige Zusatzbausteine ja irgendwann als ICs.
Josef G. schrieb:> vielleicht gibt> es die CPU und einige Zusatzbausteine ja irgendwann als ICs.
Würde es die geben, dann hätten die entsprechend dieses wunderbaren
Projektes zweimal einen Pin 1, die restlichen Pins wären zufällig
nummeriert und zwar bei jedem IC der Serie zufällig anders. Dafür würde
es dann eine Liste geben, in der man anhand der Seriennummer des IC
nachsehen müsste, welche Nummerierung genau vorliegt.
Josef G. schrieb:> Taktgenau berechenbare Laufzeiten,
Braucht wer ?
Das haben wir vor 30J in ASM gemacht, weil der 8051 zu langsam war.
Heute gibt es saubere Timings über Timer und IRQs, die Deine CPU nicht
kann.
Bei der Vorstellung wieder stundenlang Maschinenzyclen zu zählen und die
passende Anzahl NOPs einzufügen, kommt mir das Frühstück hoch.
> Codeausführung> aus dem RAM,
Als Selbstzweck, weil man es kann oder ist das auch zu was gut?
Und jetzt komm mit nicht mit selbstmodifizierenden Code.
Obwohl das passen würde, denn auch das Konzept wurde aus sehr guten
Gründen schon vor langer Zeit beerdigt.
Ausserdem können selbst 20Cent MCUs wie der STM8 Code aus dem RAM
ausführen.
> Flexibilität bei der Peripherie?
Da versteh ich noch nicht mal die Frage.
Hey, ich programmiere die MCUs und schliesse daran an was immer mir
gefällt.
Welche Einschränkung sollte es wohl dabei geben?
>> dann krame ich mein altes 8085 System raus,> Nur 64K Adressraum. Meine CPU unterstützt Paging.
Oh, wow!
Eine furchtbare Krücke die dem kleinen Adressraum geschuldet war, wurde
von Dir als Mega Highlight wiederentdeckt. Ist ja ganz Toll.
Was glaubst Du eigentlich passiert, wenn ich mit irgendeiner beliebigen
MCU die externes RAM unterstützt, mit ein paar IOs die oberen Adressbits
eines RAMs umschalte? Hey, Paging ist geboren.
Das ist doch nichts worauf man stolz sein kann.
Der 8085 war bereits veraltet und am Aussterben als ich vor 30J in die
Lehre kam. Internet gab es nicht, Datenbücher wurden noch in
Landessprache gedruckt und wir erbettelten uns die alten Schinken die in
der Entwicklung ausgemustert wurde.
Und Du kannst mir EINEN Punkt nennen den Dein System Deiner Meinung nach
besser macht?
Schau Dir mal die Doku zum 8085 an.
Damit kann man arbeiten.
Es gibt macro assembler und einen ausgezeichnet dokumentierten
Befehlssatz.
> Es muss nicht für immer beim FPGA bleiben, vielleicht gibt> es die CPU und einige Zusatzbausteine ja irgendwann als ICs.
Ja klar, sicher sicher.
Bisher hast Du in den letzen Jahren nicht einen einzigen Mitstreiter
gefunden. Wenn das in dem Tempo so weitergeht hast Du in 1,8 Millionen
Jahren genügent Interessenten um die Stückzahlen für eine Asic
Entwicklung zu rechtfertigen.
Wovon träumst Du da eigentlich?
Hast Du auch nur den Hauch einer Vorstellung über welche Initialkosten
und Mengen Du da sprichst?
Selbst wenn man das Systemk als Lehrsystem gebrauchen könnte, was weiß
Gott nicht der Fall ist, wären die Erkenntnisse die man sammelt
vollkommen nutzlos, weil man nichts davon später verwenden kann.
Denn in der realen Welt baut man Geräte und die müssen kompakt,
leistungsfähig, stromsparend und billig sein.
Dein Kram ist zu nichts kompatibel, macht nichts besser, nichts
billiger, nichts stromsparender oder Kompakter.
Es gibt keine zumutbare Doku, keine Toolchain, keine community, nichts,
absolut nichts.
Also wenn mir extrem langweilig wäre und ich mich brennend für uralte
und zu recht vergessene Technik interessieren würde und wenn ich ein
Faible für Kryptografie hätte und Deine Dokumentation als Ansporn für
detektivischen Spürsinn verstehen würde, ja dann würde ich mich
vieleicht mal ein bis zwei Wochen damit beschäftigen bevor ich mich
wieder ernsthaften Themen zuwende.
Josef G. schrieb:>> dann krame ich mein altes 8085 System raus,>> Nur 64K Adressraum. Meine CPU unterstützt Paging.
Paging ist kein Hexenwerk. Ob das jetzt im µC-Chip selbst integriert,
oder aus peripheren Chips aufgebaut ist, ist völlig egal.
>> Wenn ich was mit FPGAs machen will,>> Es muss nicht für immer beim FPGA bleiben, vielleicht gibt> es die CPU und einige Zusatzbausteine ja irgendwann als ICs.
Das nenne ich Optimismus… Hat jemand Zeit, Josefs sinn-, zweck- und
nutzloses System in Silicium zu gießen?
Uhu U. schrieb:>>> Wenn ich was mit FPGAs machen will,>>>> Es muss nicht für immer beim FPGA bleiben, vielleicht gibt>> es die CPU und einige Zusatzbausteine ja irgendwann als ICs.>> Das nenne ich Optimismus… Hat jemand Zeit, Josefs sinn-, zweck- und> nutzloses System in Silicium zu gießen?
Ein Kunde von uns hat sein Code benutzt um Nachahmer zu verwirren.
Riesen Code aber macht im Endeffekt nichts wirklich. Ist eine
Sensorkombination die ihren Wert als seriellen Stream versendet. Dort
wurde wohl zum Spaß der Bo-8 integriert.
Lona schrieb:> Ein Kunde von uns hat sein Code benutzt um Nachahmer zu verwirren.
JOSEPH!!!
Dein System hat es in eine kommerzielle Anwendung geschafft.
Der Durchbruch!
Ein neuer Markt.
Software die scheinbar etwas tut, in ihrer Funktion aber völlig Sinnfrei
ist.
Security by obscurity in Reinkultur.
Dafür ist Deine Doku allerdings perfekt.
Jetzt ab zum Anwalt und auf 12 Milliarden Entschädigung klagen.
Uhu U. schrieb:> Ob das jetzt im µC-Chip selbst integriert, oder> aus peripheren Chips aufgebaut ist, ist völlig egal.
Bei mir braucht das Paging auch externe Logik, aber
man kann den 64K-Adressraum als Ganzes umschalten,
die Adressregister können unabhängig voneinander in
unterschiedliche Seiten zeigen, und das Programm kann
problemlos von einer 64K-Seite in eine andere springen.
Josef G. schrieb:> das Programm kann problemlos von einer 64K-Seite in eine andere springen.
Dazu braucht man maximal 3 Maschinenbefehle, wenn der µC das nicht
hardwaremäßig unterstützt.
Das ist nicht der Rede wert…
Uhu U. schrieb:> Dazu braucht man maximal 3 Maschinenbefehle,
Mittels Umweg über einen nicht umgeschalteten Adressbereich?
Oder ohne Sprungbefehl, nur mit Seitenumschaltung, wenn das
Programm in der neuen Seite an gleicher Adresse weiterläuft?
Josef G. schrieb:> Bei mir braucht das Paging auch externe Logik, aber> man kann den 64K-Adressraum als Ganzes umschalten,> die Adressregister können unabhängig voneinander in> unterschiedliche Seiten zeigen, und das Programm kann> problemlos von einer 64K-Seite in eine andere springen.
Es ist unglaublich, dass Du diesen Murks immer noch als Stärke feierst,
nachdem Du zwischenzeitlich schon fast so weit warst, meine
entsprechende Argumentation dagegen anzuerkennen. Solche
Bankumschaltungen bereiten extrem große Probleme, wenn man mit
Interrupts arbeiten, aber die hast Du ja in Deinem Konzept vergessen. Wo
soll denn z.B. ein Interrupthandler die Register des unterbrochenen
Konextes sichern, wenn gerade die falsche Bank aktiv ist und er
Registerinhalte überschreiben müsste, um auf die richtige Bank
umzuschalten? Und auch der Interrupthandler selbst müsste ja in jeder
Bank zu finden sein, damit nicht in "fremden" Code gesprungen wird.
Ggf. könnte man das mit einer separaten Interrupt-Bank lösen, was
eigentlich keine so schlechte Idee wäre. Aber letztendlich bekämpft man
damit auch wieder nur ein Symptom eines von vornherein gescheiterten
Konzeptes.
MaWin schrieb:> Warum nimmst du keinen ATxMega?
Kenn ich nicht. Wäre mir vermutlich viel zu kompliziert.
Ich wollte etwas machen, was jedermann verstehen kann.
So einfach wie 6502, aber moderner.
MaWin schrieb:> Warum nimmst du keinen ATxMega?
Weil es nicht darum geht, einen vorhandenen Microcontroller für ein
konkretes Projekt auszuwählen, sondern eben selbst einen eigenen
Prozessor mit allem Drum und Dran zu entwerfen. Dagegen ist eigentlich
auch überhaupt nichts einzuwenden, sondern eine sehr interessante und
lehrreiche Angelegenheit. Das ganze ergibt aber nur dann Sinn, wenn man
aus den eigenen Fehlern lernt. Und daran hapert es bei Josef.
Josef G. schrieb:> Ich wollte etwas machen, was jedermann verstehen kann.
Und warum ist dann dabei Dein derzeitiger bo8 herausgekommen? Den
versteht niemand außer dir, und die Motivation, sich damit zu befassen,
ist aus den schon hundertfach durchgekauten Gründen eben sehr gering.
Und das liegt nicht am mangelnden Interesse.
> So einfach wie 6502, aber moderner.
Das einzige moderne ist die Umsetzung als Softcore in einem FPGA. Alle
anderen Konzepte sind so veraltet, unsinnig oder fehlerhaft, dass sie
schon deutlich vor der Prozessorgeneration um 650x, 808x, 68xx
ausgeräumt wurden. Dein Prozessor mag zwar neu sein, aber eben nicht
modern.
Andreas S. schrieb:> Solche Bankumschaltungen bereiten extrem große Probleme,> wenn man mit Interrupts arbeiten, aber die hast Du ja in> Deinem Konzept vergessen.
Die hab ich nicht vergessen, sondern absichtlich weggelassen,
weil sie mir und meiner Zielgruppe zu kompliziert sind. Und
deshalb bereiten auch die Bankumschaltungen keine Probleme.
Andreas S. schrieb:> Alle anderen Konzepte sind so veraltet, unsinnig oder fehlerhaft,
Veraltet und unsinnig mag sein, kann man drüber streiten.
Aber fehlerhaft? Was ist am Konzept fehlerhaft?
Josef G. schrieb:> Uhu U. schrieb:>> Dazu braucht man maximal 3 Maschinenbefehle,>> Mittels Umweg über einen nicht umgeschalteten Adressbereich?>> Oder ohne Sprungbefehl, nur mit Seitenumschaltung, wenn das> Programm in der neuen Seite an gleicher Adresse weiterläuft?
Was bei einem 8085-System auch gehen würde:
Eine spezielle Seitenumschaltung nur für Sprünge,
welche verzögert wirkt, so dass erst noch ein
Sprungbefehl eingelesen werden kann.
Josef G. schrieb:> Andreas S. schrieb:>> Alle anderen Konzepte sind so veraltet, unsinnig oder fehlerhaft,>> Veraltet und unsinnig mag sein, kann man drüber streiten.>> Aber fehlerhaft? Was ist am Konzept fehlerhaft?
Das müssen wir nicht noch einmal alles detailliert erörtern, denn das
wurde bereits etliche Male getan, ohne dass diese Argumente auch nur den
geringsten Einfluss auf Dein Projekt gehabt hätten. Es geht bei den
Fehlern nicht nur um die eigentliche technische Implementierung, sondern
vor allem auch um die Systemarchitektur und vor allen die Dokumentation.
Nicht nur ich, sondern auch mehrere andere Diskussionsteilnehmer haben
Dir schon haarklein erklärt, warum Deine Dokumentation unbrauchbar ist.
Da hilft es auch nichts, irgendein kleines Detail genauso krude
nachzudokumentieren und bei der Gelegenheit am Besten auch noch gleich
eine Änderung am Befehlssatz durchzuführen.
Josef G. schrieb:> Was bei einem 8085-System auch gehen würde:> Eine spezielle Seitenumschaltung nur für Sprünge,> welche verzögert wirkt, so dass erst noch ein> Sprungbefehl eingelesen werden kann.
Solche Krücken vertragen sich mit dem Anspruch an ein
anfängerfreundliches System? Und Interrupts werden wiederum abgelehnt?
Das ist unfassbar.
Michael K. schrieb:> S. R. schrieb:>> Jetzt musst du da nur noch Abhilfe schaffen. :-)>> Das wird wohl nicht gelingen.> Selbst bei guter Dokumentation hat das System doch> einfach für niemanden irgendeinen Nutzen.
Es ging mir nicht um den Nutzen des Systems, und es ging mir vor allem
nicht darum, eine Antwort von irgendjemandem außer bome zu
provozieren.
Wenn sämtliche genannten Nachteile beseitigt sind, sind viele deiner
Argumente tot.
Michael K. schrieb:> Die alten voluminösen Steckkartensysteme ...
... heißen heute "Shield", "Hat" oder "Stick" und sind etwas kleiner.
Michael K. schrieb:> Wenn ich was mit FPGAs machen will, dann baue ich doch> nicht etwas nach was jeder MC 100 mal besser kann.
Wenn du keinen 8080 im FPGA nachbauen kannst, dann kannst du auch keinen
Out-of-Order-RISC-V samt Peripherie entwickeln.
Josef G. schrieb:> Mittels Umweg über einen nicht umgeschalteten Adressbereich?
So macht man das üblicherweise. Ich habe das vor Urzeiten mal für die
Z80-Kontron-Rechner implementiert.
Die Hardware konnte in einem 4 k Fenster beliebige Seiten einblenden.
Das hat seinerzeit dicke ausgereicht, um ein 48 k Laufzeitsystem zu
adressieren.
Es war wirklich kein Hexenwerk…
Josef G. schrieb:> MaWin schrieb:>> Warum nimmst du keinen ATxMega?>> Kenn ich nicht.
Au weia. Keine Ahnung, was heutzud´tage in dieser Liga gespielt wird,
aber
> So einfach wie 6502, aber moderner.
Na da hast du aber gewaltig daneben geschossen…
Josef G. schrieb:> Die hab ich nicht vergessen, sondern absichtlich weggelassen,> weil sie mir und meiner Zielgruppe zu kompliziert sind.
Deine Zielgruppe? Das ist doch die:
Lona schrieb:> Ein Kunde von uns hat sein Code benutzt um Nachahmer zu verwirren.> Riesen Code aber macht im Endeffekt nichts wirklich.
oder hat sich da noch irgend jemand aus ähnlich kruden Gründen rein
verlaufen?
Josef G. schrieb:> Was bei einem 8085-System auch gehen würde:> Eine spezielle Seitenumschaltung nur für Sprünge,> welche verzögert wirkt, so dass erst noch ein> Sprungbefehl eingelesen werden kann.
Das wäre viel zu kompliziert und das Interruptproblem wäre dann noch
immer nicht aus der Welt.
Uhu U. schrieb:> Die Hardware konnte in einem 4 k Fenster ...> Es war wirklich kein Hexenwerk…
Man hat dann halt nur 4K-Bereiche, nicht volle 64K,
dafür braucht man Unterstützung durch die CPU.
Insofern ist meine CPU doch etwas Neues.
Josef G. schrieb:> Man hat dann halt nur 4K-Bereiche, nicht volle 64K,> dafür braucht man Unterstützung durch die CPU.
Das wurde nicht aus Dummheit so gemacht.
> Insofern ist meine CPU doch etwas Neues.
Neu? das ist ein Unsinn, der mehr Probleme schafft, als er löst.
Rechnerarchitektur lernt man nicht im Kindergarten…
Mampf F. schrieb:> Wieso versucht ihr ihn zu überzeugen, dass das, was er gebaut hat, Mist> ist? :-)
Ich glaube niemand geht noch davon aus das Joseph resozialisierbar ist
bzw. eine relistische Sicht auf sein Projekt bekommt.
Ich weiß nicht, irgendeinen Reiz scheint es auszuüben ;-)
S. R. schrieb:> es ging mir vor allem> nicht darum, eine Antwort von irgendjemandem außer bome zu> provozieren.
Wäre da eine PM nicht angebrachter?
> Wenn du keinen 8080 im FPGA nachbauen kannst, dann kannst du auch keinen> Out-of-Order-RISC-V samt Peripherie entwickeln.
Kann ich beides nicht und sehe auch den Sinn darin nicht.
Darum geht es doch auch garnicht.
Bomes System soll ja nicht dazu animieren wild an seiner CPU
herumzucoden, das macht er schon. Man soll es so wie er es verbrochen
hat einsetzen, weil es ja so genial designt ist.
Wenn das beste an Josephs System ist das man seinen kompletten VHDL Code
wegwerfen und was richtiges damit machen kann ...
> Insofern ist meine CPU doch etwas Neues.
Joseph, niemand hat je bestritten das Deine CPU was neues ist.
Ich könnte mir einen 8051 softcore nehmen und alle Sprungbefehle
entfernen, das wäre auch neu.
Sinnlos aber neu.
Mal ne Frage:
Hast Du schon mal reale Entwicklungsprojekte mit MCUs gemacht?
Zeitkritische Steuerungen oder low power Anwendungen?
Motorsteuerungen oder irgendwas mit direkt gesteuerten Schaltnetzteilen?
Ich kann mir das ehrlich gesagt nicht vorstellen, denn an jeder
einzelnen dieser Aufgaben würde Dein Design krachend scheitern.
Ein beliebig erweiterbares, frei programmierbares System mit Power +
Speicher satt, das Du im Leben nicht ausreizen wirst?
Mal was vom Beagle Bone oder Raspi gehört?
Diese Systeme gibt es wie geschnitten Brot, mit Win, Linux, Rtos oder
was selbst geschriebenes wenn man auf Schmerzen steht.
Für kleinstes Geld, mit genialen Tools guter Doku und in allen Größen,
Formen und Geschmacksrichtungen.
Was in drei Teufels Namen ist Deine Zielgruppe?
Du spielst da selbstreferenziert an irgendwelchen Stellschrauben eines
Systems herum das so völlig hoffnungslos in allen Bereichen von links
und rechts überholt wurde und das schon viele Jahre bevor Du die erste
Zeile geschrieben hast.
Ohne PC ist das doch noch nicht mal einsetzbar.
Für den Gegenwert einer Currywurst + drei Bier bekomme ich einen Raspi
mit dem ich richtig Spaß haben kann, statt bei Deinem System Blut zu
kotzen weil das alles hinten und vorn in die Ecke gedacht ist.
Nehme Dir doch mal irgendeine halbwegs moderne 0815 MCU und versuche die
auszureizen.
Z.B. ein dsPIC für ein paar Euro
Du hängst an Konzepten fest die man aus der Not und weil man es nicht
besser wusste vor Jahrzehnten entworfen und vor Jahrzehnten wieder
verworfen hat.
Niemand hat diese Kombination aus Ahnungslosigkeit, Wahnsinn und
fachlicher Kompetenz die Dein System braucht um von irgendjemanden
ausser Dir gut gefunden zu werden.
Über 64K Bankswitching lacht sich ein 10€ Controller aus der PIC32 Reihe
tot, weil der 2MB flash + 640KB RAM hat.
Dazu Hardware satt. Uarts, PWM, Timer, IRQs, DAC, ADC bis zum abwinken
bei >200Mhz. Natürlich kostenlose Compiler + IDE, Support, Tausend
Seiten ausführliche Doku, Bespielprojekte, Community, Support.
Und da willst Du mir mit etwas kommen was der 8051 mit Basic Interpreter
und V24 Kommunikation schon kompfortabler konnte?
Wer soll denn in Deinem verkrüppelten ASM jemals Programme schreiben die
den ganzen Speicher füllen, den Du so leidenschaftlich umschaltest?
Wer also, ganz konkret bitte, ist Deine Zielgruppe?
Wer verfügt über das Know How Dein System überhaupt aufzusetzen und ist
zugleich nicht fähig die immanenten Beschränkungen zu erkennen?
Anfänger kriegen das P im Gesicht bei dem Klumpen und Profis wenden sich
kopfschüttelnd ab.
Hast Du Dir das überhaupt jemals vorher überlegt?
Machst Du jetzt einfach stumpf weiter weil schon so viel Arbeit drin
steckt?
Mampf F. schrieb:> Wieso versucht ihr ihn zu überzeugen, dass das, was er gebaut hat, Mist> ist? :-)
Versucht keiner! Lediglich sein versuch uns zu belehren geht nach hinten
los.
Ich würde auch sein Code in eine Hardware einbetten um Kopierer zu
verwirren.
Michael K. schrieb:> denn an jeder einzelnen dieser Aufgaben> würde Dein Design krachend scheitern.
Dafür ist es auch nicht gemacht.
Es soll ein ästhetisch reizvolles Spielzeug sein für Leute,
die ein System vollständig verstehen und kontrollieren
wollen, und die an das Hexdezimalsystem glauben.
Josef G. schrieb:> Es soll ein ästhetisch reizvolles Spielzeug sein für Leute,> die ein System vollständig verstehen und kontrollieren> wollen, und die an das Hexdezimalsystem glauben.
Dann hast du leider vollständig versagt.
Dein System nutzt zwar das Hexadezimalsystem (mit a), ist aber weder
ästhetisch noch reizvoll, dafür aber schwer zu verstehen und noch viel
schwerer zu kontrollieren.
Josef G. schrieb:> Es soll ein ästhetisch reizvolles Spielzeug
Du hast merkwürdige Vorstellungen von Esthetik -- oder zählt die
Dokumentation dabei nicht?
> sein für Leute, die ein System vollständig verstehen und kontrollieren> wollen, und die an das Hexdezimalsystem glauben.
Damit driftest du offen ins Religiöse ab. Das Projekt taugt höchstens
für deinen Grabstein im Kurositätenkabinett
https://de.wikipedia.org/wiki/Wikipedia:Kuriosit%C3%A4tenkabinett#Computer_und_Internet
Josef G. schrieb:> Es soll ein ästhetisch reizvolles Spielzeug sein
ästhetisch reizvoll...
Stimmt es ist voll der negativ Reize für mein ästhetisches Empfinden
> für Leute, die ein System vollständig verstehen und kontrollieren> wollen, und die an das Hexdezimalsystem glauben.
Das sind ja gleich mehrere Widersprüche in sich.
- Die die das verstehen können, wenden sich mit Grausen ab
- Deine 'Doku' vehindert jedes Verstehen zuverlässig
- Ohne schweren Hirnschaden ist das sehr schwer daran zu glauben das das
Hex System jemals mehr sein wird als irgendetwas das sehr wenige für
sehr spezielle Anforderungen halbwegs beherrschen müssen.
Mit schwerem Hirnschaden ist es sehr schwer mehr zu tun als auf die
Tastatur zu sabbern, was vielleicht das Beste ist was mit Deinem System
anstellbar ist.
Übrigens:
Jede MCU die ich einsetze verstehe ich vollständig (sofern nötig) und
kontrolliere die vollständig.
Du bist ja jetzt ein paar Jahre dabei.
Was sagen Deine Zahlen?
Hast Du Deine Zielgruppe getroffen, wird das System angenommen?
Wie viele aktive User hast Du, wie groß ist das Entwicklerteam
mittlerweile?
Was hast Du bisher ausgegeben und wie hoch sind die Einnahmen?
Na, sieht ganz schön bitter aus, was?
Jaja, ich weiß das alle ausser Dir garkeinen Plan haben und Du ohnehin
weiter machst, aber gibt Dir das überhaupt nicht zu denken das jeglicher
Erfolg ausbleibt?
Noch nicht mal geschenkt will das jemand.
Stell das doch mal bei Kickstarter rein und zieh ne richtig große Serie
auf.
Du musst das nur richtig groß aufziehen.
Geld kommt zu Geld also hau raus die Kohle.
Nicht zu klein denken, richtig in die Vollen gehen und die Tech Giganten
werden Dir bald die Tür einrennen um Dir für ein paar Milliarden 'Bome
International Antibusiness Machines' abzukaufen.
Los jetzt, glaub an Dich.
Sonst tut das ja keiner.
Josef G. schrieb:> Michael K. schrieb:> denn an jeder einzelnen dieser Aufgaben> würde Dein Design krachend scheitern.>> Dafür ist es auch nicht gemacht.>> Es soll ein ästhetisch reizvolles Spielzeug sein für Leute,> die ein System vollständig verstehen und kontrollieren> wollen, und die an das Hexdezimalsystem glauben.
Das Hexadezimalsystem gibt es gar nicht! Das ist nur eine Verschwörung
der Computerbauer um normalen Menschen die Einfachheit der Technik zu
verschleiern. In Wirklichkeit zählen sie nur von 0-9 und erweitern es
mit A-F.
Michael K. schrieb:> Wie viele aktive User hast Du, wie groß ist das Entwicklerteam> mittlerweile?
Du solltest doch wissen, dass Virtualisierung viele Probleme löst - auch
dieses!
MaWin schrieb:> Das Hexadezimalsystem gibt es gar nicht! Das ist nur eine Verschwörung> der Computerbauer um normalen Menschen die Einfachheit der Technik zu> verschleiern. In Wirklichkeit zählen sie nur von 0-9 und erweitern es> mit A-F.
Wohl wahr, die einzigen echten Zahlen sind 0, 1 und 2, wenn ich mich
nicht irre.
Uhu U. schrieb:> Damit driftest du offen ins Religiöse ab. Das Projekt taugt höchstens> für deinen Grabstein im Kurositätenkabinett> https://de.wikipedia.org/wiki/Wikipedia:Kuriosit%C3%A4tenkabinett#Computer_und_Internet
Danke für den Link, von Piet war ich gleich angetan.
Michael K. schrieb:> Jede MCU die ich einsetze verstehe ich vollständig (sofern nötig)
Du versuchtst also, es wenn möglich zu vermeiden, weil es
nicht so einfach ist. Das ist der Unterschied zu meiner CPU.
MaWin schrieb:> Das ist nur eine Verschwörung der Computerbauer um normalen> Menschen die Einfachheit der Technik zu verschleiern.
Man kann durchaus den Verdacht haben, dass die fehlende
Propagierung des Hexadezimalsystems damit zu tun hat.
Josef G. schrieb:> Du versuchtst also, es wenn möglich zu vermeiden, weil es> nicht so einfach ist. Das ist der Unterschied zu meiner CPU.
Äh... Nein.
Normale Datenblätter zu lesen und die Hardware zu verstehen finde ich
nicht schwer.
Josef G. schrieb:> Man kann durchaus den Verdacht haben, dass die fehlende> Propagierung des Hexadezimalsystems damit zu tun hat.
Man kann aber auch durchaus den Verdacht haben das Du einen kapitalen
Hirnschaden erlitten hast oder unter sehr starken Medikamenten stehst.
Du hast aber meine Fragen nicht beantwortet.
Michael K. schrieb:> Man kann aber auch durchaus den Verdacht haben das Du einen kapitalen> Hirnschaden erlitten hast oder unter sehr starken Medikamenten stehst.
Bei Dir kommt als Leser deiner Zeilen direkt der Gedanke hoch, dass du
derjenige sein könntest, der nicht alle beisammen hat.
Du postest unter realem Nmen verbal aggressive Kommentare bis hin zu
strafbaren Beleidigungen, weil du sein Projekt nicht verstehst, es nicht
verstehen willst, oder nicht verstehen kannst und dich hineinsteigerst.
Es ist eine Sache, ob Josef G. (ein offenkundiger Rentner mit zuviel
Zeit) einen virtuellen Nachbau eines seiner 8-Bit-Computer von vor 30
(ich korrigiere) von vor 40 Jahren betreibt und vorstellt und ob das
alles Sinn gibt.
Es ist eine andere Sache, ob man das kritisieren muss, weil es ein
Gebastel ist und alles Gebastel so oder so meistens nur der
Selbbefriedigung dient.
Es ist aber keine Frage, ob solche Entgleisungen mit personlichen
Angriffen statthaft sind! Sie sind es definitiv nicht! Wenn dir sein
Projekt nicht passt, liess was anderes.
Mein pesönliches Votum ist, dass hier im Forum einigen der Respekt
fehlt. Mit solchen Leuten würde ich dann weder privat noch geschäftlich
zu tun haben wollen.
Den Namen Knölke Elektronik habe ich mir mal mit einen schwarzen Strich
versehen.
Michael K. schrieb:> Du hast aber meine Fragen nicht beantwortet.
Ich finde in deinem Beitrag nur rhetorische Fragen.
Neutraler Beobachter schrieb:> bis hin zu strafbaren Beleidigungen,
Der Straftatbestand der Beleidigung sollte abgeschafft werden.
Josef G. schrieb:> Der Straftatbestand der Beleidigung sollte abgeschafft werden.
Und danach wirst du jammern wenn sich alle an das Gesetz halten
werden...
Josef G. schrieb:> Michael K. schrieb:>> Du hast aber meine Fragen nicht beantwortet.>> Ich finde in deinem Beitrag nur rhetorische Fragen.
Michael hat sich zwar deutlich im Ton vergriffen, aber dennoch sind in
seinem Beitrag ein paar wichtige, durchaus auch nicht als rhetorisch
anzusehende Fragen enthalten.
Du erwähnst ja immer wieder, Deinen bo8 auf eine bestimmte Zielgruppe
von Hobbybastlern zuzuschneiden. Nun die wirklich ernstgemeinte Frage:
Hast Du schon irgendjemanden außer Dir selbst gefunden, der sich Deiner
Zielgruppe zugehörig fühlt und Deinen bo8 nicht nur kurz angeschaut
hat, sondern sich über einen längeren Zeitraum damit beschäftigt hat?
Gibt es noch mindestens eine Person außer Dir selbst, die sich in den
z.B. letzten drei Jahren mit dem bo8 beschäftigt und irgendein Resultat
hervorgebracht hat? Gibt es hierzu eine Veröffentlichung?
Andreas S. schrieb:> Michael hat sich zwar deutlich im Ton vergriffen,
Eigentlich habe ich nur gesagt das der Eindruck entstehen könnte es
läge besagte Beeinträchtigung vor.
Das Gefühl hatten bisher auch recht viele, deswegen taucht ja immer
wieder die Frage auf warum wir überhaupt noch mit Joseph diskutieren,
ist er doch offensichtlich nicht in der Lage irgendetwas davon zu
verarbeiten.
Zu einer Beleidigung fehlt da aber noch ein ganz schön großes Stück.
Zu sagen 'Du hast Doch einen Hirnschaden' wäre eine Beleidigung.
Den Eindruck zu bekommen ein Mensch sei durch Krankheit oder Droge
derart beeinträchtigt das er garnicht in der Lage ist das Gesagte
inhaltlich zu erfassen kann ja keine Beleidigung sein.
Natürlich gehe ich nicht eine Sekunde davon aus bei Joseph irgendetwas
zu erreichen. Daher bin ich auch nicht sauer, ich hatte nur einfach
keine Lust mehr das weiterzuführen und habe das beendet und auch den
Grund dafür genannt. Denn mit einem beeinträchtigten zu streiten wäre ja
nicht fair.
Andreas S. schrieb:> Hast Du schon irgendjemanden außer Dir selbst gefunden, der sich Deiner> Zielgruppe zugehörig fühlt
Keine Dieser Fragen wird Joseph beantworten.
Höchtens im Sinne von: Durch die indoktrination mit dem Dezimalsystem
haben sich die Menschen von Technik abgewendet bla bla blub etc pp.
Das Ergebnis steht unumstößlich fest, vollkommen egal was gesagt wird
oder was offensichtlich ist: Die BO8 ist toll und einfach, die Doku
super, alles richtig gemacht, Zielgruppe ist begeistert, traut sich nur
nicht das hier zu zeigen.
Jede Aussage, jeder Fakt wird einfach umgedreht, ignoriert und auch
schon bizarre Weise interpretiert um das Ergebniss zu schützen.
Aber das ist wohl jedem klar der hier schon länger mitliest.
Warum ich dann schreibe?
Naja, andere spielen Solitär oder Sudoku für die kleine Entspannung
zwischendurch. ;-)
Michael K. schrieb:> Denn mit einem beeinträchtigten zu streiten wäre ja nicht fair.
Das ist ein nur sehr gering verklausuliertes "der ist behindert". Womit
du dich wieder im Ton vergreifst. Wenn du rumpöbeln willst, dann sei
wenigstens offensichtlich, das vereinfacht den Rechtsweg - und wenn du
dich zivilisiert benehmen kannst, dann lass die Beleidigungen einfach
sein.
Michael K. schrieb:> Höchtens im Sinne von: Durch die indoktrination mit dem Dezimalsystem> haben sich die Menschen von Technik abgewendet bla bla blub etc pp.
Das bezweifle ich mal stark, zumindest in diesem Thread.
Michael K. schrieb:> Die BO8 ist toll und einfach, die Doku super, alles richtig gemacht,> Zielgruppe ist begeistert, traut sich nur nicht das hier zu zeigen.
Übertreib mal nicht.
Michael K. schrieb:> Warum ich dann schreibe?> Naja, andere spielen Solitär oder Sudoku für die kleine Entspannung> zwischendurch. ;-)
Es sagt ziemlich viel über dich aus, wenn du zur Entspannung andere
beleidigen musst. Ich empfehle Twitter - für Heilung oder deinen
Seelenfrieden.
Michael K. schrieb:> Andreas S. schrieb:>> Michael hat sich zwar deutlich im Ton vergriffen,> Zu einer Beleidigung fehlt da aber noch ein ganz schön großes Stück.
Wann soll ich Dir ganz konkret unterstellt haben, Josef (mit "f" und
nicht - wie von Dir immer wieder fälschlicherweise behauptet - mit "ph")
beleidigt zu haben?
Danke Josef.
Dein bo8 eignet sich hervorragend als never ending opera.
Da sind soviel Ecken und Kanten dran und gemixt mit der Dir eigenen
Weltsicht gibts hier Anlass zu kritischem Auslass ohne Ende!
Ralf schrieb:> Da sind soviel Ecken und Kanten dran und gemixt mit der Dir eigenen> Weltsicht gibts hier Anlass zu kritischem Auslass ohne Ende!
Das eigentlich Interessante am bo8 ist Josefs Holzkopf…
Also ich kann Hex am besten mit Binär zusammen verwenden - zum
Dezimalsystem harmoniert das dann nur mit Zahlen bis vielleicht 15 gut
und 255 eher schlecht.
Da verkauft einer sein Spartan-3E-Starterkit, das neu
nicht mehr erhältlich ist. Wäre eine Gelegenheit,
falls jemand in das Projekt einsteigen will.
https://www.mikrocontroller.net/topic/478429#new
Josef G. schrieb:> Da verkauft einer sein Spartan-3E-Starterkit, das neu> nicht mehr erhältlich ist. Wäre eine Gelegenheit,> falls jemand in das Projekt einsteigen will.
Wer will heutzutage noch in ein Projekt einsteigen, dessen
Entwicklungsumgebung nicht mehr unter der aktuellen Windows-Version
lauffähig ist, zumindest nicht ohne wilde Tricks? Wenn Du auch nur
ansatzweise irgendeinen Mitstreiter finden wolltest, hättest Du schon
vor Jahren auch ein von Vivado unterstütztes FPGA(-Board) in das Projekt
aufnehmen müssen.
Ich weiß auch schon, welches Argument Du vorbringen wirst: Vivado sei
viel zu kompliziert für Deine angebliche Zielgruppe und überhaupt nicht
für Hobbyisten geeignet.
Andreas S. schrieb:> Wer will heutzutage noch in ein Projekt einsteigen,
Jedenfalls wird der Spartan-3E ja doch wohl von der
letzten ISE-Version 14.7 unterstützt. Oder etwa nicht?
Josef G. schrieb:> Andreas S. schrieb:>> Wer will heutzutage noch in ein Projekt einsteigen,>> Jedenfalls wird der Spartan-3E ja doch wohl von der> letzten ISE-Version 14.7 unterstützt. Oder etwa nicht?
Nein
Josef G. schrieb:> Jedenfalls wird der Spartan-3E ja doch wohl von der> letzten ISE-Version 14.7 unterstützt. Oder etwa nicht?
Ja, das schon, aber das übliche ISE 14.7 läuft nicht mehr unter Windows
10.
Es gibt zwar von Xilinx eine W10-taugliche ISE-14.7-Version, aber diese
unterstützt ausschließlich Spartan-6 und keine älteren Familien. Es
gibt wohl das Hintertürchen, zunächst diese Version zu installieren und
anschließend ein paar Bibliotheken von einer vorhandenen Installation
unter Windows 7 rüberzukopieren.
So kann man vorgehen, wenn man ein uraltes Projekt auf einem neuen
Rechner pflegen muss, aber es eignet sich nicht dazu, Interessenten für
ein vermeintlich neues Projekt zu gewinnen.
Würde sich jemand die Mühe machen, das Projekt auf eine neuere Familie
unter Vivado zu portieren, könnte er es auch nur für sich selbst nutzen,
denn Du weigerst Dich ja nach wie vor, Deinen Quellcode in einem
öffentlich zugänglichen Versionskontrollsystem (Github, Sourceforge,
o.ä.) abzulegen. Gemäß der Lizenzhinweise in Downloadbereich Deiner
Homepage beanspruchst Du auch jegliche Rechte an Deiner Software, d.h.
selbst der Download wäre möglicherweise schon ein Urheberrechtsverstoß.
Spätestens dann, wenn ein Dritter also über seine Nutzung und womöglich
Änderungen an den Quellen berichten würde, hätte er sich damit schon
strafbar gemacht. Es ist schon ein ganz übler Trick, andere Leute zum
Download aufzufordern, ihnen aber nicht die erforderlichen
Nutzungsrechte einzuräumen.
Eigentlich wollte ich Dich ausnahmsweise sogar unterstützen, indem ich
ein kleines Vivado-Projektchen für einen Artix-7 erstelle, in dem der
bo8 läuft. Aber bei Deinen rechtlichen Anspruch bekomme ich nur das
Kotzen.
Und dann wunderst Du Dich noch, dass niemand bo8 nutzen will?
Josef G. schrieb:> Jedenfalls wird der Spartan-3E ja doch wohl von der> letzten ISE-Version 14.7 unterstützt. Oder etwa nicht?
Die "Windows 10 Edition" von ISE 14.7 unterstützt nur Spartan-6.
Die Version, die nicht unter Windows 10 läuft, unterstützt auch ältere
FPGAs und CPLDs.
Ich habe es gerade gewagt, Deine aktuelle Version herunterzuladen, und
dabei festgestellt, dass sich zwar endlich alles in einer einzelnen
ZIP-Datei befindet. Aber nach wie vor besitzen alle Quelltexte die
Endung ".txt", d.h. es ist gar keine sinnvolle Versionskontrolle ohne
zusätzliche Umbennungsschritte möglich.
Und wenn ich dann in die Quelltexte schaue, begegne ich überall solchen
Konstrukten:
Andreas S. schrieb:> Aber nach wie vor besitzen alle Quelltexte die> Endung ".txt", d.h. es ist gar keine sinnvolle Versionskontrolle ohne> zusätzliche Umbennungsschritte möglich.
Das macht doch nix. Vor 50 Jahren gabs noch keine
Versionskontrollsysteme…
Mir fällt auch gerade auf, dass ja überhaupt keine Projektdateien für
ISE oder Quartus enthalten sind. Damit hätte ich zwar keine so großen
Probleme, aber wie soll sich denn da bitteschön ein Anfänger
zurechtfinden? Irgendwo im Text steht zwar, welche HDL-Quellen und
Constraints für welches Board verwendet werden müssen, aber es gibt
keine weiteren Informationen.
Das Projekt ist also ein wesentlich größeres Anti-Pattern als ich
bislang dachte. Ich habe versucht, eine Entsprechung im
Wikipedia-Artikel zu Anti-Pattern zu finden, aber nichts passendes
gefunden. Ich finde es schon faszinierend, eine solche Rarität zu
finden. Sollten wir Josef bzw. dem bo8 vielleicht ein eigenes Kapital in
besagtem Wikipedia-Artikel widmem?
https://de.wikipedia.org/wiki/Anti-Pattern
Andreas S. schrieb:> Gemäß der Lizenzhinweise in Downloadbereich Deiner Homepage> beanspruchst Du auch jegliche Rechte an Deiner Software,
Mit Software meinte ich nicht den VHDL-Code, lediglich die in
bram32.vhd, ram32.vhd, rom24.vhd enthaltenen Initialwerte der
Block-RAMs zähle ich zur Software.
Den VHDL-Code der CPU habe ich im Wiki-Artikel explizit
unter Creative-Commons-Lizenz zur Verfügung gestellt.
Aber eigentlich ist mir gar nicht klar, wie weit VHDL-
Code überhaupt geschützt ist oder schützbar ist.
>Sollten wir Josef bzw. dem bo8 vielleicht ein eigenes Kapital in>besagtem Wikipedia-Artikel widmem?
Hast Du zur Zeit keine Aufträge mehr? Is Dir langweilig? Frustriert?
Jan_Lafer schrieb:>>Sollten wir Josef bzw. dem bo8 vielleicht ein eigenes Kapital in>>besagtem Wikipedia-Artikel widmem?> Hast Du zur Zeit keine Aufträge mehr? Is Dir langweilig? Frustriert?
Ich habe meine laufenden Projekte vor meinem Urlaub, der in der nächsten
Woche beginnt, abgeschlossen und daher in der Tat ein paar Tage nur noch
Kleinkram zu erledigen. Aber nach dem Urlaub geht es natürlich sofort
weiter mit den nächsten Projekten.
Josef G. schrieb:> Den VHDL-Code der CPU habe ich im Wiki-Artikel explizit> unter Creative-Commons-Lizenz zur Verfügung gestellt.
Ein Richter, der über den Fall zu entscheiden hätte, würde sehen, dass
Du einen kleinen Teil auf Webseite A unter einer CC-Lizenz veröffentlich
hast. Weiterhin würde er sehen, dass Du einen anderen Teil auf Webseite
B veröffentlicht hast und dort Deine Ansprüche so deutlich formulierst,
dass nicht einmal der Download selbst rechtmäßig wäre. Der Richter würde
daraus niemals schließen, dass die CC-Lizenz von A auch für B gelte.
> Aber eigentlich ist mir gar nicht klar, wie weit VHDL-> Code überhaupt geschützt ist oder schützbar ist.
Für händisch geschriebenen VHDL-Code gilt in Deutschland genauso das
Urheberrecht wie für anderen Programmcode oder literarische Werke. Die
Bemessung der sog. schöpferischen Leistung wird nach denselben Kriterien
erfolgen. Dein bo8-Code wird hierbei wahrscheinlich sogar den höchsten
Schutz genießen, da er extrem wenig etablierte Konzepte beinhaltet und
sich somit leicht nachweisen lässt, dass er keine geistigen Schöpfungen
Dritter beinhaltet.
Auch wenn der Nachweis der schöpferischen Höhe so leicht und eindeutig
gelingt, dürfte der wirtschaftliche Wert Deines Werks nicht sonderlich
hoch eingeschätzt werden. Das bedeutet also, dass Du sehr leicht einen
Unterlassungsanspruch durchsetzen könntest (also genau das Richtige, um
Deinen bo8 zum Durchbruch zu verhelfen!), aber keinen oder nur einen
sehr geringen Schadensersatz oder Nutzungsentgelt erhieltest.
Carl schrieb:>>Die "Windows 10 Edition" von ISE 14.7 unterstützt nur Spartan-6.>> Also bei mir läuft das Spartan3-Kit unter Win10:> Beitrag "Spartan-3E starter Kit"
Dann solltest Du Dich selbst auch vollständig und nicht sinnentstellend
zitieren: "Die grundsätzliche Installation auf einem Windows 10 Rechner
war schon mal etwas schwierig, aber klappt hat schlussendlich geklappt."
Josefs Anspruch besteht ja darin, ein System für Hobbyisten zu schaffen,
das wesentlich einfacher zu verwenden sein soll als alles sonst übliche.
Und "schon mal etwas schwierig" passt da eben nicht rein, insbesondere
wenn jedem klar ist, dass er durch solche Verrenkungen auf einem toten
Ast oder totem Pferd sitzt. Es geht ja schließlich nicht darum, aus Jux
und Dollerei Forensik zu betreiben oder alte Elektronikschätze
wiederzubeleben, sondern um ein "neues" System, welches ja kurz vor dem
großen Durchbruch stehen soll.
Andreas S. schrieb:> und dort Deine Ansprüche so deutlich formulierst,> dass nicht einmal der Download selbst rechtmäßig wäre.
Das ist doch absurd. Die Bereitstellung zum Download
mit dem Hinweis "Hier können Sie ... herunterladen"
impliziert doch die Erlaubnis zum Download.
Und wie ich schon geschrieben habe, beanspruche ich
auf meiner Website das Urheberrecht nur für den
Hex-Maschinencode und die C-Programme.
Über den VHDL-Code (den ich ganz im Sinne von Lothar Miller
nicht als Software bezeichnen würde) habe ich auf meiner Website
keine Aussage gemacht oder wollte jedenfalls keine Aussage machen.
Und da der VHDL-Code der CPU im Wiki-Artikel unter
Creative-Commons-Lizenz zur Verfügung gestellt wird, könnte
ich diese Lizenz auch auf der Website gar nicht einschränken.
Über den übrigen VHDL-Code habe ich mir keine Gedanken gemacht,
er ist mir nicht wichtig. Aber falls jemand damit Probleme hat:
Ich erkläre hiermit, dass der übrige VHDL-Code (ohne die CPU
und ohne die Hex-Initalwerte der Block-RAMs) zur freien
Verfügung steht. Allerdings würde ich erwarten, dass eine
Weitergabe nur mit Quellenangabe erfolgt.
Josef G. schrieb:> Das ist doch absurd. Die Bereitstellung zum Download> mit dem Hinweis "Hier können Sie ... herunterladen"> impliziert doch die Erlaubnis zum Download.
Der Verkauf einer Waffe mit dem Hinweis "Hiermit können Sie auch
Menschen erschießen." sagt nichts über die Rechtmäßigkeit aus.
> Und wie ich schon geschrieben habe, beanspruche ich> auf meiner Website das Urheberrecht nur für den> Hex-Maschinencode und die C-Programme.
Das Urheberrecht muss man in Deutschland nicht beanspruchen, denn es
gilt immer. Man kann es nicht einmal per Einzelvertrag einem Dritten
übertragen. Nur die Nutzungs- und sonstigen Verwertungsrechte sind
übertragbar. In anderen Rechtssystemen gibt es teilweise sehr deutlich
abweichende gesetzliche Regelungen.
> Über den VHDL-Code (den ich ganz im Sinne von Lothar Miller> nicht als Software bezeichnen würde) habe ich auf meiner Website> keine Aussage gemacht oder wollte jedenfalls keine Aussage machen.
Und damit gilt ausschließlich den Urheberrecht. Dritte erhalten damit
keine Nutzungsrechte.
> Und da der VHDL-Code der CPU im Wiki-Artikel unter> Creative-Commons-Lizenz zur Verfügung gestellt wird, könnte> ich diese Lizenz auch auf der Website gar nicht einschränken.
Doch, Du als Autor besitzt das Urheberrecht und kannst
selbstverständlich das Werk unter verschiedenen, sich sogar
widersprechenden Lizenzen verbreiten. Daher sollte man als Nutzer sehr
genau darauf achten, auf welchem Wege man ein Werk erhalten hat.
> Über den übrigen VHDL-Code habe ich mir keine Gedanken gemacht,> er ist mir nicht wichtig. Aber falls jemand damit Probleme hat:>> Ich erkläre hiermit, dass der übrige VHDL-Code (ohne die CPU> und ohne die Hex-Initalwerte der Block-RAMs) zur freien> Verfügung steht. Allerdings würde ich erwarten, dass eine> Weitergabe nur mit Quellenangabe erfolgt.
Diese Einräumung von Nutzungsrechten veröffentlichst Du hier also an
einer ganz anderen Stelle. Das ist unzureichend. Ein Richter würde im
Zweifelsfall sogar fragen, auf welche Art und Weise man geprüft hat,
dass die hiesige Einräumung von Nutzungsrechten wirklich durch dieselbe
Person erfolgt ist wie die Bereistellung der eigentlichen Software auf
einer gänzlich anderen Webseite.
Das wäre dasselbe, als wenn ich hier behaupten würde: "Ich erkläre
hiermit, dass <Software X> zur freien Verfügung steht." Der eigentliche
Rechteinhaber würde dann nicht nur mich in Regress nehmen, sondern den
Nutzern, die sich auf meine Erklärung verlassen haben, völlig zu recht
unterstellen, zu naiv gewesen zu sein.
Und Du hast immer noch nicht geschrieben, wie denn jemand, der ein
Projekt auf Basis Deines bo8 umsetzt, dieses jemals veröffentlichen
könnte.
Andreas S. schrieb:> Josefs Anspruch besteht ja darin, ein System für Hobbyisten zu schaffen,> das wesentlich einfacher zu verwenden sein soll als alles sonst übliche.
Dafür gibt es einen einfache Test. (DAU Test)
Man gebe einem Menschen, dessen Wissen und Bildungsgrad der Zielgruppe
entspricht, die Dokumentation und schaut dann wie weit er ohne Hilfe
kommt.
Dann bessert man so lange nach, bis 80% der Probanten keine Hilfe mehr
brauchen.
Ich vermute der Probant kommt bis zu bomes Projektseite.
Dann ungläubiges Staunen, Augenschmerzen, Verwirrung, Panik, Wut und das
wars dann.
Michael K. schrieb:> Ich vermute der Probant kommt bis zu bomes Projektseite.> Dann ungläubiges Staunen, Augenschmerzen, Verwirrung, Panik, Wut und das> wars dann.
Nein, ich vermute eher den folgenden Ablauf:
Proband kommt bis zu bomes Projektseite.
Dann ungläubiges Staunen, Verlassen der Webseite.
Würde man den Proband zwei Tage später fragen, welche Webseiten er an
dem betreffenden Tag besichtigt hat, würde er sich mit sehr hoher
Wahrscheinlichkeit nicht mehr daran erinnern. Wenige Probanden würden
sich noch daran erinnern, irgendwelche skurrile, aber langweilige
Webseite besucht zu haben, ohne sich an den Inhalt zu erinnern. Ein
einziger Proband wüsste jedoch genau, auf welcher Webseite er war, und
würde den Studienleiter über die Vorteile das Hexadezimalsystems,
obskure Zeichensätze usw. volllabern. Dann würde man bemerken,
versehentlich Josef in die Gruppe der Probanden aufgenommen zu haben.
Andreas S. schrieb:> Proband kommt bis zu bomes Projektseite.
Ich geb ja zu, ich bin vorher gescheitert. :-)
Die Seite, die im ersten Post von diesem Beitrag genannt ist, gibt es
nicht: http://www.bomerenzprojekt.de/
Im Wikiartikel war auch erstmal nichts zu finden. Nachdem hier jemand
davon sprach, dass auf der Seite irgendwas mit Lizenzen steht, hab ich
an mir gezweifelt. Jetzt erst habe ich im Fließtext vom Wiki-Artikel die
richtige URL gefunden...
Elias K. schrieb:> Jetzt erst habe ich im Fließtext vom Wiki-Artikel die> richtige URL gefunden...
Willlkommen in Josefs Welt!
Er wird höchstwahrscheinlich den Fehler nicht korrigieren, sondern
höchstens darauf hinweisen, dass der korrekte Link doch im Text zu
finden ist.
Andreas S. schrieb:> Und Du hast immer noch nicht geschrieben, wie denn jemand, der ein> Projekt auf Basis Deines bo8 umsetzt, dieses jemals veröffentlichen> könnte.
Hast du in 8bit-CPU: bo8 den Link zur Creative-Commons-Lizenz
schon angeklickt? Da sollte eigentlich alles nachzulesen sein.
(Keine Sorge, die Seite ist sehr kurz.)
Oh, ich sehe gerade, da steht
> Wenn Sie das Material remixen, verändern oder anderweitig> direkt darauf aufbauen, dürfen Sie Ihre Beiträge nur unter> derselben Lizenz wie das Original verbreiten.
Könnte man evtl. so verstehen, dass nicht nur weiter-
entwickelte Versionen der CPU unter dieselbe Lizenz gestellt
werden müssen, sondern zB. auch Software, die für die CPU
geschrieben wurde. Das war von mir nicht beabsichtigt.
Weiss hier jemand etwas dazu?
Elias K. schrieb:> Ich geb ja zu, ich bin vorher gescheitert.
Alle Links findet man am einfachsten durch Klick auf
meine Benutzerseite, rechts neben dem Benutzernamen.
Josef G. schrieb:> Könnte man evtl. so verstehen, dass nicht nur weiter-> entwickelte Versionen der CPU unter dieselbe Lizenz gestellt> werden müssen, sondern zB. auch Software, die für die CPU> geschrieben wurde.
Hm, die Formulierung "wie das Original" lässt vermuten,
dass das nur für weiterentwickelte Versionen der CPU gilt.
In der ausführlichen Lizenzvereinbarung steht
> Die genannten Beschränkungen gelten auch für den Fall,> dass der Schutzgegenstand einen Bestandteil eines Sammelwerkes> bildet; sie verlangen aber nicht, dass das Sammelwerk insgesamt> zum Gegenstand dieser Lizenz gemacht wird.
Deutet in die gleiche Richtung.
Also offenbar alles ok.
Andreas S. schrieb:> Josef G. schrieb:>> Also offenbar alles ok.>> Nein. Nicht ansatzweise.
Noch einmal in deutlicherer Form: ich hatte in meinen letzten Beiträgen
etliche Stolpersteine genannt, die teils technischer, teils
organisatorischer und teils vertraglicher/juristischer Natur sind. Nun
greifst Du Dir nur einen dieser Punkte heraus, versiehst ihn mit ein
bisschen Geschwurbel und meinst, dass damit alles geklärt wäre. Ich
werde mir nicht noch einmal die Mühe machen, alle Punkte aufzuführen,
denn entweder würdest Du solch einen Beitrag wieder einfach ignorieren,
einen Mangel an offenen Punkten unterstellen oder Dir wieder nur einen
einzigen Punkt herausgreifen und beantworten bzw. für Abhilfe sorgen.
Dein Gewurschtel ohne Versionskontrollsystem ist auf jeden Fall eine
Katastrophe.
Josef G. schrieb:> Das ist doch absurd. Die Bereitstellung zum Download> mit dem Hinweis "Hier können Sie ... herunterladen"> impliziert doch die Erlaubnis zum Download.
Und noch ein Hinweis: jeder, der "Marions Kochbuch" kennt, sieht solche
Aufforderungen ohne explizite Einräumung von Nutzungsrechten usw.
deutlich kritischer.
https://www.marions-kochbuch.de/
Dort steht sogar explizit: "Das Besondere an diesem Kochbuch ist, dass
alle Gerichte von uns fotografiert und erprobt wurden. Für alle Rezepte
gibt es eine Druckversion über die man jedes Rezept ausdrucken kann.
Alle Zutaten kann man anklicken und kommt darüber auf die Beschreibung
und ein Foto der jeweiligen Zutat."
Auch hier wird man explizit dazu aufgefordert, die Rezepte auszudrucken.
Der Text erweckt auch den Eindruck, dass man die entsprechenden Fotos
einfach so nutzen könne. Dem ist aber nicht so. Hinter dieser
vermeintlichen Hobby-Webseite steckt ein hochprofessionelles
Abmahnsystem!
https://www.dailymotion.com/video/x2qi03b
Ein mir persönlich bekannter Webdesigner hatte vor einigen Jahren auch
einmal einen Rechtstreit an der Backe. Er erstellte einen völlig neuen
Webauftritt für einen Kunden. Sämtliche Texte und Bilder waren selbst
errstellt worden. Trotzdem wurde er wegen angeblicher
Urheberrechtsverstöße abgemahnt. Im Impressum des neuen Webauftritts
fehlte der ausdrückliche Hinweis darauf, dass keine Haftung für gecachte
Inhalte übernommen werden könne. Der Kläger hatte nämlich einen Trick
gefunden, Proxies eigene Bilder unter fremden URLs unterzuschieben, so
dass diese dann auf den Webseiten dargestellt wurden. Mein Bekannter
verlor den entsprechenden Gerichtsprozess, weil dem Richter solche
gecachten Seiten gezeigt wurden und entsprechende Warnhinweise fehlten,
dass die Bilder nicht zu dem Seiteninhalte passen könnten.
Ich gehe zwar davon aus, dass nicht jeder Richter so urteilen würde,
aber solche Leute wissen natürlich, an welchen Gerichten solche Richter
arbeiten, und sorgen dann dafür, dass der vermeintliche Rechteinhaber in
dessen Zuständigkeitsbereich seinen Geschäftssitz hat.
Habe bei den Download-Hinweisen den Satz
"Die Nutzung der Software coka, teca
wird bis auf weiteres für Testzwecke gestattet"
ersetzt durch
"Die Nutzung aller Dateien
wird bis auf weiteres für Testzwecke gestattet".
Wer die CPU für eigene Projekte nutzen will und Wert auf
die nicht widerrufliche Creative-Commons-Lizenz legt,
kann den VHDL-Code in 8bit-CPU: bo8 herunterladen.
Die Lizenz erlaubt auch kommerzielle Nutzung.
Andreas S. schrieb:> oder Dir wieder nur einen> einzigen Punkt herausgreifen und beantworten bzw. für Abhilfe sorgen.
Und genau dieser Fall ist wieder eingetreten. Du wurschtelst nur an
einem winzigen Symptom herum statt endlich einmal das ganze auf
ordentliche Beine zu stellen. Diese Ignoranz ist unbeschreiblich und
lässt sich nicht einmal durch eine autistische Veranlagung mehr
erklären.
Andreas S. schrieb:> lässt sich nicht einmal durch eine autistische Veranlagung mehr> erklären.
Oh Vorsicht.
Bei mir hieß das 'deutlich im Ton vergriffen' bis hin zu 'strafrechtlich
relevante Beleidigung'.
Jemanden Autismus zu unterstellen ist dann aber okay?
Ach Andreas, Du weist doch genauso gut wie wir alle das man hier nix
reissen kann.
Nicht aufregen, geniesse Deinen Urlaub und vergiss das tote Pferd das
hier verwesend herumliegt.
Michael K. schrieb:> Bei mir hieß das 'deutlich im Ton vergriffen' bis hin zu> 'strafrechtlich relevante Beleidigung'.
Wann soll ich Dir gegenüber den Ausdruck "Beleidigung" erwähnt haben?
Na, wo ist denn die entsprechende Nachricht? Nicht zu finden? Ach, Du
hast die entsprechende Behauptung ja selbst aufgestellt und versuchst
nun, sie Dritten unterzuschieben.
> Jemanden Autismus zu unterstellen ist dann aber okay?
Ich habe Josef doch ausdrücklich keinen Autismus unterstellt.
Ob ich das noch erleben darf, dass hier jemand über
technische Details des Projekts diskutieren will?
Oder dass jemand über seine Realisierung des
Projekts auf einem der FPGA-Boards berichtet?
Oder gar, dass jemand das Projekt auf
ein neueres FPGA-Board portiert hat?
Oder auch nur, dass jemand das Emulations-Programm
oder den Assembler oder Disassembler getestet hat?
Josef G. schrieb:> Oder dass jemand über seine Realisierung des> Projekts auf einem der FPGA-Boards berichtet?
Ist dir etwa deine Zielgruppe abhanden gekommen?
Josef G. schrieb:> Oder dass jemand über seine Realisierung des> Projekts auf einem der FPGA-Boards berichtet?>> Oder gar, dass jemand das Projekt auf> ein neueres FPGA-Board portiert hat?>> Oder auch nur, dass jemand das Emulations-Programm> oder den Assembler oder Disassembler getestet hat?
Hmm, ich hatte mir tatsächlich Gedanken darüber gemacht, ob ich das für
irgendwas brauche ...
Die Antwort war: nein
Gründe:
- Insel-Lösung ... Kein C/C++-Compiler dafür, kein Debugger dafür,
niemand, der Libraries dafür entwickelt usw
- es gibt für so ziemlich alle 8, 16 und 32Bit µC/CPU-Architekturen
funktionierende und gut getestete fertige Cores, die die Nachteile von
Punkt 1 nicht haben.
Ich finde es ein nettes Projekt, aber Josef entwickelt es eindeutig für
sich selbst und nicht für Leute, die es evtl benutzen wollen würden.
Das ist in etwa so, wie wenn ich etwas verkaufen wollen würde, was nur
ich selbst brauche.
Das sind so meine Beobachtungen :)
Trotzdem finde ich es gut, dass sich Josef nicht kleinkriegen lässt.
Josef G. schrieb:> Ob ich das noch erleben darf, dass hier jemand über> technische Details des Projekts diskutieren will?
Wenn aus der Diskussion nennenswerte Ergebnisse entstehen können, gerne.
Damit meine ich mehr als "die drei Zeilen in der Dokumentation sind nun
geändert".
Das Projekt liegt unter deiner Schirmherrschaft, es liegt also an dir,
Veränderungen einzupflegen.
Bist du denn an Beiträgen zum Projekt interessiert?
Wenn ja, welchen konkret?
> Oder dass jemand über seine Realisierung des> Projekts auf einem der FPGA-Boards berichtet?
Leider habe ich keines der FPGA-Boards.
> Oder auch nur, dass jemand das Emulations-Programm> oder den Assembler oder Disassembler getestet hat?
Das Emulations-Programm habe ich vor langer Zeit mal getestet.
Es funktionierte wie beschrieben.
Mehr habe ich damit allerdings nicht gemacht.
S. R. schrieb:> Bist du denn an Beiträgen zum Projekt interessiert?> Wenn ja, welchen konkret?
Schwierige Frage. Ich denke, das würde sich im Dialog ergeben,
falls sich tatsächlich jemand meldet, der sich näher mit dem
Projekt befasst hat und Gefallen daran gefunden hat.
Josef G. schrieb:> Ob ich das noch erleben darf, dass hier jemand über> technische Details des Projekts diskutieren will?
Nein. Die juristischen und organisatorischen Fallstricke sind so krass,
dass niemand bis auf die technische Ebene durchdringen wird.
> Oder dass jemand über seine Realisierung des> Projekts auf einem der FPGA-Boards berichtet?
Um damit gewaltige rechtliche Risiken einzugehen?
> Oder gar, dass jemand das Projekt auf> ein neueres FPGA-Board portiert hat?
Wenn es jemand täte, dann würde er hier mit Sicherheit nicht darüber
reden.
> Oder auch nur, dass jemand das Emulations-Programm> oder den Assembler oder Disassembler getestet hat?
Du meinst die Programme, die nochmals wesentlich größere rechtliche
Risiken aufweisen als die bo8-CPU?
Neulich hatte ich ja sogar die verrückte Idee, mal schnell ein kleine
Vivado-Projektchen für Artix-7 aufzusetzen, aber davon bin ich gründlich
kuriert. Und NEIN, ich hätte es nicht getan, weil ich eine große Zukunft
für bo8 sehe, sondern nur aus Mitleid. Davon bin ich jetzt aber kuriert.
Du hältst es ja wieder nicht für nötig, auf die wichtigen Themen und
Fragen einzugehen, sondern ignorierst sei weiterhin.
Josef G. schrieb:> S. R. schrieb:>> Bist du denn an Beiträgen zum Projekt interessiert?>> Wenn ja, welchen konkret?>> Schwierige Frage. Ich denke, das würde sich im Dialog ergeben,> falls sich tatsächlich jemand meldet, der sich näher mit dem> Projekt befasst hat und Gefallen daran gefunden hat.
Die Pflege der Hauptplatinen-Software einschließlich Schnitt-
stelle zu den Steckkarten würde ich ungern aus der Hand geben.
Gleiches gilt für die Festlegung der Hauptplatinen-Hardware
einschließlich Schnittstelle zu den Steckkarten, soweit
sie für die Software der Hauptplatine sichtbar sind.
Die Entwicklung virtueller oder realer Steckkarten
und der zugehörigen Software würde ich gerne abgeben,
ebenso die Portierung des Systems auf neuere FPGA-Boards
oder die Entwicklung einer eigenen Hardware.
Die Kontrolle über die CPU habe ich ja durch die
Creative-Commons-Lizenz bereits aus der Hand gegeben.
Josef G. schrieb:> Die Pflege der Hauptplatinen-Software einschließlich Schnitt-> stelle zu den Steckkarten würde ich ungern aus der Hand geben.>> Gleiches gilt für die Festlegung der Hauptplatinen-Hardware> einschließlich Schnittstelle zu den Steckkarten, soweit> sie für die Software der Hauptplatine sichtbar sind.
So ist es aber nicht interessant für Andere. Wie bei jedem erfolgreichen
open Source Projekt, bei dem es mehrere Mitstreiter gibt, muss alles
"frei" sein. Tritt der Fall ein und du hast keine Lust mehr am Projekt
oder kannst, aus welchen Gründen auch immer, nicht mehr daran
Mitarbeiten, wären alle Mitstreiter am Ende da sie rechtlich deinen Code
nicht anfassen, verändern und neu verteilen dürften. Kein Bug könnte
rechtlich sauber mehr gefixt werden. Das wäre das Ende.
Zudem wollen Mitstreiter auch Rechte haben wenn sie "gratis" deine
Plattform groß mache, wenn z.B. einem deine Gangart nicht passt oder ein
Feature haben will was du ablehnst, kann man einen Fork anlegen. Auch
schon ganz oft passiert in der open Source Szene, mal ist ein Fork
erfolgreich (LibreOffice), mal eher nicht (Devuan).
So sind nun mal die Regeln des Ökosystems open Source.
Julian W. schrieb:> Tritt der Fall ein und du hast keine Lust mehr am Projekt> oder kannst, aus welchen Gründen auch immer, nicht mehr daran> mitarbeiten, wären alle Mitstreiter am Ende da sie rechtlich deinen> Code nicht anfassen, verändern und neu verteilen dürften. Kein Bug> könnte rechtlich sauber mehr gefixt werden. Das wäre das Ende.>> Zudem wollen Mitstreiter auch Rechte haben ...
Was würdest du vorschlagen? Was meinen Andere dazu?
Josef G. schrieb:> Ob ich das noch erleben darf, dass hier jemand über> technische Details des Projekts diskutieren will?>> Oder dass jemand über seine Realisierung des> Projekts auf einem der FPGA-Boards berichtet?>> Oder gar, dass jemand das Projekt auf> ein neueres FPGA-Board portiert hat?>> Oder auch nur, dass jemand das Emulations-Programm> oder den Assembler oder Disassembler getestet hat?
Gibt keine schwerwiegenden Probleme bei der Realisierung nach Vorgabe.
Julian W. schrieb:> Josef G. schrieb:>> Die Pflege der Hauptplatinen-Software einschließlich Schnitt->> stelle zu den Steckkarten würde ich ungern aus der Hand geben.>>>> Gleiches gilt für die Festlegung der Hauptplatinen-Hardware>> einschließlich Schnittstelle zu den Steckkarten, soweit>> sie für die Software der Hauptplatine sichtbar sind.>> So ist es aber nicht interessant für Andere.
Falls das Interesse der anderen "unlauter" ist! Wer unbedingt sein
eigene Konzept durchziehen will, dem steh es doch frei, sein eigenes
Project "vom Grund auf" zu realisieren.
Klar ist das mehr Aufwand als sich wie ein Kückuck ins gemachte Nest zu
setzen und die "Brutpflege" jemand anderes zu überlassen.
Josef G. schrieb:> Was würdest du vorschlagen? Was meinen Andere dazu?
Stelle das gesamte (!) Projekt unter eine einheitliche open Source
Lizenz und nicht nur Teile davon. Welche ist fast egal, ob GPL, AGPL
oder CC. Hier eine Übersicht
https://opensource.org/licenses
Als non-plus-ultra stellst du das ganze Projekt noch auf eine Plattform,
die kollaboratives Arbeiten am Code unterstützt und fördert. Der
de-facto Standard in der open Source Welt ist da Github. Gefühlt 98%
aller erfolgreichen open Source Projekte mit mehreren Mitstreiter der
letzten Jahre hat dort seinen Beginn. Und vermutlich 100% der open
Source Projekte existiert dort zumindest als Mirror eines Dritten ;-)
Die Vorstellung, an seinem Code "zu klammern" und die Kontrolle darüber
haben zu wollen steht halt im Gegensatz zum open Source Gedanke, wo
mehrere verschiedene Menschen gemeinsam an einem Strang ziehen und
zusammen ein Projekte "groß coden".
Andreas S. schrieb:> Wann soll ich Dir gegenüber den Ausdruck "Beleidigung" erwähnt haben?> Na, wo ist denn die entsprechende Nachricht? Nicht zu finden? Ach, Du> hast die entsprechende Behauptung ja selbst aufgestellt und versuchst> nun, sie Dritten unterzuschieben.
Komm mal runter.
Habe ich jemals gesagt DU hättest mir Beleidigung unterstellt?
Nein, ich habe Dir sogar explizit gesagt:
Michael K. schrieb:> Ganz ruhig, hast Du nicht.Neutraler Beobachter schrieb:> Du postest unter realem Nmen verbal aggressive Kommentare bis hin zu> strafbaren Beleidigungen,
Jetzt zufrieden oder willst Du Dir ums Verrecken jeden Schuh anziehen
über den Du Dich dann aufspulen kannst?
Andreas S. schrieb:> Ich habe Josef doch ausdrücklich keinen Autismus unterstellt.
Auch dazu habe ich bereits einen Text bekommen, der genauso auch auf das
von Dir geschriebene passt.
S. R. schrieb:> Das ist ein nur sehr gering verklausuliertes "der ist behindert".
Also, wenn Du weiter im Aufregemodus operieren willst, nur zu.
Ist aber affig.
Julian W. schrieb:> Die Vorstellung, an seinem Code "zu klammern" und die Kontrolle darüber> haben zu wollen steht halt im Gegensatz zum open Source Gedanke, wo> mehrere verschiedene Menschen gemeinsam an einem Strang ziehen und> zusammen ein Projekte "groß coden".
Ich seh ein "Gemeinsam an einem Strang ziehen" nicht, wenn ständig
versucht wird den Ursprungsautor und damit Projektarchitekten das
Konzept und die Kontrolle darüber wegzunehmen. Das ist kein gemeinsam
"Gross coden".
"Coden" ist bei Hardware-Architektur-designs ohnehin der gänzlich
falsche Ansatz.
IQ-Reflektor schrieb:> "Coden" ist bei Hardware-Architektur-designs ohnehin der gänzlich> falsche Ansatz.
Naja nicht wirklich, bei RISC-V funktioniert das zum Beispiel prima und
sehr erfolgreich:
https://github.com/riscvhttps://riscv.org/risc-v-cores/
RISC-V ist aber auch deutlich struktuierter aufgebaut wie bo8 und trennt
strickt zwischen den verschiedenen Teilen (von der ISA bis zum
VHDL-Core).
Und bei RISC-V kann man auch jederzeit dem (Zitat:) "Projektarchitekten
das Konzept und die Kontrolle darüber wegzunehmen". Nur wird man mit
einem Fork vermutlich nicht ganz so erfolgreich sein, aber möglich ist
es ;) Prinzipiell geschieht sowas eh nur, wenn es mächtig rumort in der
Community, sei es weil der Maintainer keine Zeit hat, viel erwünschte
Pull-Requests ablehnt oder sonstigen groben Sachen. Ansonsten stirbt ein
Fork irgendwann. Oder der ursprüngliche Maintainer/Projektleiter gibt
der Community nach. Bestes Beispiel: LEDE und openWRT. LEDE spaltet sich
von openWRT wegen Streitereien (z.B. Infrastruktur), LEDE wird recht
erfoglreich, openWRT gibt nach und LEDE und openWRT vereinen sich
wieder.
Wobei es auch selbst von RISC-V "Forks" gibt, die die ISA wohl etwas
erweitern (hab mir das Projekt nicht genau angeschaut, nur überflogen):
https://github.com/pulp-platform/riscv
Angenommen ich bräuchte für ein Porjekt die bo8 und die passt mir
perfekt, nur eine Kleinigkeit an der grundlegenden Hardware müsst anders
sein, dann will man die Möglichkeit haben für sich privat diese kleine
Anpassung vornehmen zu können. Oder es gibt irgendwann einen Fork, der
identisch ist, aber Interrupts einbaut, für Josef ein Alptraum in der
open Source Welt aber denkbar ;)
Julian W. schrieb:> Als non-plus-ultra stellst du das ganze Projekt noch auf eine Plattform,> die kollaboratives Arbeiten am Code unterstützt und fördert. Der> de-facto Standard in der open Source Welt ist da Github.
Derartige Vorschläge habe ich schon etliche Male unterbreitet, aber sie
werden von Josef in unglaublicher Konsequenz ignoriert. Bisher ist er
kein einziges Mal auf so etwas eingegangen. Vermutlich wird das auch
diesmal geschehen, oder er wird das ganze mit der obligatorischen
Bemerkung wegwischen, Github und Co. wären nicht für seine Zielgruppe
geeignet.
> Gefühlt 98%> aller erfolgreichen open Source Projekte mit mehreren Mitstreiter der> letzten Jahre hat dort seinen Beginn.
Ähhh, dann bist Du einfach noch nicht lange genug dabei. Sehr viele
Open-Source-Projekte sind auf Sourceforge entstanden und wurden
teilweise erst deutlich später auf Github verschoben bzw. Forks dort
angelegt.
Der nicht ganz unbedeutende Linux-Kernel wurde zunächst per diff-Patches
über Mailinglisten und Usenet-Gruppen gepflegt und später mittels
Bitkeeper verwaltet. Git wurde von Linux Thorvalds nur als Hilfsmittel
geschaffen, da der Hersteller des kommerziellen Tools Bitkeeper andere
Vorstellungen von freier Software hatte und Linus ausdrücklich ein
Programm haben wollte, mit dem er auch per Mail/Usenet verschickte
Patches einbinden und verteiler kann. Er riet damals sogar ausdrücklich
davon ab, Git für irgendeinen anderen Zweck zu verwenden, aber die
Community hielt sich nicht daran.
Der Linux-Kernel wird nach wie vor mittels Git auf kernel.org verwaltet.
Das hat nichts, aber auch so gar nichts mit Github zu tun.
Die mindestens genauso bedeutsamen Projekte, die unter dem Dach der
Apache Foundation laufen, liegen überwiegend auf git.apache.org und
svn.apache.org. Nur wenige befinden sich bei Github.
> Und vermutlich 100% der open> Source Projekte existiert dort zumindest als Mirror eines Dritten ;-)
Naja, viele Forks befinden sich dort.
Bei Github besteht meines Erachtens auch die Gefahr, irgendwann das
Schicksal von Sourceforge oder anderen ehemals großen VCS-Dienstleistern
zu ereilen. Der ganz große Schwenk von SF zu Github ist bei vielen
Projekten nicht erfolgt, weil das verteilte Git besser geeignet wäre,
sondern weil SF versuchte, sich durch ein paar Anpassungen an den
Geschäftsbedingungen auch die Rechte an den Projekten unter den Nagel zu
reißen.
Aber man sieht ja sehr gut, in welcher Windeseile ggf. ein neuer Dienst
aufgesetzt werden kann, so dass sich auch ein vermeintlicher Monopolist
nicht erlauben kann, das Spiel zu diktieren.
> Die Vorstellung, an seinem Code "zu klammern" und die Kontrolle darüber> haben zu wollen steht halt im Gegensatz zum open Source Gedanke, wo> mehrere verschiedene Menschen gemeinsam an einem Strang ziehen und> zusammen ein Projekte "groß coden".
Genau so ist es. Allerdings sind auch schon viele Projekte komplett
untergegangen, weil sich nach den ersten beeindruckenden Erfolgen
unzählige Forks bildeten, die sich teilweise ziemlich inkompatibel
zueinander weiterentwickelten. Bei OpenOffice (, das übrigens
ursprünglich als kommerzielles Produkt (StarWriter bzw. StarOffice) des
Hamburger Unternehmens Star Division entstand, bestand diese Gefahr auch
über längere Zeit. Durch die Abspaltungen von LibreOffice und Konsorten
sank anfangs die Akzeptanz auf Anwenderseite ganz gewaltig.
Mittlerweile hat sich das aber wieder ganz ganz eingespielt.
Linus Torvalds macht das ganze auch ausgesprochen geschickt: für den
Hauptentwicklungszweig führen er und ein paar von ihm auserwählte Leute
ein recht straffes Regiment, d.h. nur sehr hochwertiger und in das
Gesamtkonzept passender Code wird möglicherweise aufgenommen. Einige
seiner Entscheidungen sind durchaus umstritten, aber der Erfolg gibt ihm
recht. Man beachte aber den wirklich wichtigen Unterschied zu Josef
Vorstellungen: Linus und die Haupt-Maintainer beanspruchen nicht die
exklusiven Rechte an dem Quellcode! Dieser steht natürlich komplett
unter der GPL bzw. Teile unter den LGPL.
Dies bedeutet, dass es weder technische noch rechtliche Probleme gibt,
einen eigenen Fork außerhalb des Hauptentwicklungszweiges anzulegen und
zu veröffentlichen. Das ist auch ausdrücklich erwünscht! Trotzdem
besteht natürlich die Möglichkeit, zu späteren Zeitpunkten auch einzelne
Anteile in den Hauptentwicklungszweig aufnehmen zu lassen.
Projekte, in denen ein Hauptautor Sonderrechte am Programmcode
beansprucht, sind eigentlich nie erfolgreich, sondern dümpeln so vor
sich hin. So wie bo8.
Andreas S. schrieb:> Ähhh, dann bist Du einfach noch nicht lange genug dabei. Sehr viele> Open-Source-Projekte sind auf Sourceforge entstanden und wurden> teilweise erst deutlich später auf Github verschoben bzw. Forks dort> angelegtJulian W. schrieb:> Gefühlt 98%> aller erfolgreichen open Source Projekte mit mehreren Mitstreiter der> letzten Jahre hat dort seinen Beginn.
Ich schreib explizit "der letzten Jahre" (2 bis 4, vielleicht auch 5 bis
6 Jahre), nicht der letzten Jahrzehnte ;) Bevor es git gab, war ja auch
SVN der de-facto Standard. Nur ist heute nicht mehr relevant, wie man
vor 10 Jahre ein open Source Projekt aufgezogen hat. Niemand käme mehr
auf die Idee per Mailingliste diff-Files zu verschicken und das als
"Repo" zu missbrauchen. Heute ist sowas zum Glück nicht mehr relevant ;)
Andreas S. schrieb:> Der Linux-Kernel wird nach wie vor mittels Git auf kernel.org verwaltet.> Das hat nichts, aber auch so gar nichts mit Github zu tun.
Doch, Code ist im git, Bugtracker wie bei Github gibt es auch
(https://bugzilla.kernel.org/) und es wird auch unter anderem mit Pull
Request gearbeitet
(https://www.kernel.org/doc/html/latest/maintainer/pull-requests.html).
Quasi alles, was auch Github kann (gut vielleicht ein bisschen mehr).
Aber wie gesagt, das Projekt ist Jahrzehnte alt und nicht ein paar Jahre
:P
Andreas S. schrieb:> Die mindestens genauso bedeutsamen Projekte, die unter dem Dach der> Apache Foundation laufen, liegen überwiegend auf git.apache.org und> svn.apache.org. Nur wenige befinden sich bei Github.
Und alle haben einen Mirror auf Github, und auch da gibt es die gleiche
Funktionalität wie bei Github. Nicht jeder will Github privat nachbauen
für ein kleines Projekt, macht ja gar keinen Sinn.
Andreas S. schrieb:> Allerdings sind auch schon viele Projekte komplett> untergegangen, weil sich nach den ersten beeindruckenden Erfolgen> unzählige Forks bildeten
Das heißt was? Das Grundkonzept war absolut nicht ausgegoren oder die
Software wollte zu viele Felder erschlagen, wo jeder in seinem Feld
Anpassungen brauchte die ein anderer nicht verstand und dann gab es
Forks Forks Forks...
owncloud und Nextcloud haben ja ein ähnliches Schicksaal.
Andreas S. schrieb:> Projekte, in denen ein Hauptautor Sonderrechte am Programmcode> beansprucht, sind eigentlich nie erfolgreich, sondern dümpeln so vor> sich hin. So wie bo8.
100% Zustimmung.
Julian W. schrieb:> Oder es gibt irgendwann einen Fork, der> identisch ist, aber Interrupts einbaut, für Josef ein Alptraum in der> open Source Welt aber denkbar ;)
Oder es gäbe einen Fork, der bo8 auf MIST oder MISTer zum Laufen bringt,
womöglich sogar mit Interrupts!
Julian W. schrieb:> Ich schreib explizit "der letzten Jahre" (2 bis 4, vielleicht auch 5 bis> 6 Jahre), nicht der letzten Jahrzehnte ;) Bevor es git gab, war ja auch> SVN der de-facto Standard. Nur ist heute nicht mehr relevant, wie man> vor 10 Jahre ein open Source Projekt aufgezogen hat. Niemand käme mehr> auf die Idee per Mailingliste diff-Files zu verschicken und das als> "Repo" zu missbrauchen. Heute ist sowas zum Glück nicht mehr relevant ;)
Viele sehr große und wichtige Projekte sind aber so entstanden. Deine
willkürliche Festlegung auf 2-6 Jahre ist hierfür völlig irrelevant, da
sie ausschließlich Deinen eigenen zeitlichen Horizont darstellt.
> Andreas S. schrieb:>> Der Linux-Kernel wird nach wie vor mittels Git auf kernel.org verwaltet.>> Das hat nichts, aber auch so gar nichts mit Github zu tun.>> Doch, Code ist im git, Bugtracker wie bei Github gibt es auch> (https://bugzilla.kernel.org/) und es wird auch unter anderem mit Pull> Request gearbeitet
Natürlich wird der Code mittels Git verwaltet. Genau das ist ja auch
meine Aussage. Aber "wie bei Github" ist etwas völlig anderes als "bei
Github". Github ist der Abklatsch, nicht das Original. kernel.org hat
nichts mit Github zu tun.
> (https://www.kernel.org/doc/html/latest/maintainer/pull-requests.html).> Quasi alles, was auch Github kann (gut vielleicht ein bisschen mehr).> Aber wie gesagt, das Projekt ist Jahrzehnte alt und nicht ein paar Jahre> :P
Genau. Der Linux-Kernel ist aber, ebenso wie viele der Apache-Projekte
(Webserver usw.) wichtiger denn je.
> Andreas S. schrieb:>> Die mindestens genauso bedeutsamen Projekte, die unter dem Dach der>> Apache Foundation laufen, liegen überwiegend auf git.apache.org und>> svn.apache.org. Nur wenige befinden sich bei Github.>> Und alle haben einen Mirror auf Github, und auch da gibt es die gleiche> Funktionalität wie bei Github. Nicht jeder will Github privat nachbauen> für ein kleines Projekt, macht ja gar keinen Sinn.
Es handelt sich aber eben um Mirrors. Oder eben um Forks. Ich bestreite
ja auch nicht den Sinn von Github, sondern empfehle es Josef sogar ganz
ausdrücklich, dort seinen bo8 zu veröffentlichen. Aber Github ist eben
weder "das Original" noch der Zentrum der Welt.
> Das heißt was? Das Grundkonzept war absolut nicht ausgegoren oder die> Software wollte zu viele Felder erschlagen, wo jeder in seinem Feld> Anpassungen brauchte die ein anderer nicht verstand und dann gab es> Forks Forks Forks...
Es gibt zu viele selbsternannte Platzhirsche und Entwickler, die unter
dem "Not invented here"-Syndrom leiden. Und ein Projekt zu forken ist
eben technisch gesehen einfacher als sich mit den Details eines fremden
Projektes zu beschäftigen.
> owncloud und Nextcloud haben ja ein ähnliches Schicksaal.
Beide Projekte und Produkte, insbesondere owncloud, freuen sich doch
bester Gesundheit und werden aktiv weiterentwickelt.
Andreas S. schrieb:> Viele sehr große und wichtige Projekte sind aber so entstanden. Deine> willkürliche Festlegung auf 2-6 Jahre ist hierfür völlig irrelevant, da> sie ausschließlich Deinen eigenen zeitlichen Horizont darstellt.
Nein tut es nicht so jung bin ich auch wieder nicht, SVN hab ich selbst
jahrelang genutzt als es git noch nicht gab.
Es ist deswegen relevant nur die letzten Jahre zu betrachten, weil Josef
wenn dann jetzt (!) sein Projekt als richtiges open Source startet und
nicht vor 20 Jahren, als man noch Mailingliste und Co nutzte.
Und heute ist Github der alternativlose Platz für ein junges open Source
Projekt ;-) Quasi jeder Entwickler hat bereits einen Account dort, es
gibt eine gigantische Community und jeder kennt es.
Wenn ich ein open Source Projekt bei mir privat starte auf einem eigenen
Server brauch ich erst mal Tage zum Aufsetzten der Infrastruktur, falls
ich das überhaupt kann, hab laufende Kosten und ich würde behauptet
GitHub kann all das besser wie ich. Über Dritte Dienste wie TravisCI und
Co will ich gar nicht erst reden. Auch die Zeit die eigene Infrastruktur
kostet nutzt man besser fürs coden. Folglich ist GitHub für neue open
Source Projekte quasi Alternativlos. Wenn man mal viele Mitstreiter hat
und groß geworden ist kann man natürlich über Alternative
Hostingmöglichkeiten nachdenken.
Andreas S. schrieb:> Beide Projekte und Produkte, insbesondere owncloud, freuen sich doch> bester Gesundheit und werden aktiv weiterentwickelt.
Nextcloud übernimmt extrem viel Code von owncloud. owncloud geht dazu
über alles neu zu schreiben auf Basis von Go (Stichwort: Infinite
Scale), sodass der größte "Codespender" für die Basis wegfällt. Dann
wird es spannende ob Nextcloud es schafft von alleine genug Mitstreiter
zu finden um alle Code-Bereiche abzudecken.
Andreas S. schrieb:> Aber Github ist eben> weder "das Original" noch der Zentrum der Welt.
Hab ich nie behauptet, nur das Zentrum für neue open Source Projekte die
JETZT (!) entstehen, schneid nicht einfach meine Nebensätze ab, die sind
wichtig ;)
Julian W. schrieb:> Es ist deswegen relevant nur die letzten Jahre zu betrachten, weil Josef> wenn dann jetzt (!) sein Projekt als richtiges open Source startet und> nicht vor 20 Jahren, als man noch Mailingliste und Co nutzte.
Und genau deswegen habe ich ja von vornherein github vorgeschlagen.
Dieser Vorschlag stammt also nicht von Dir, es sei denn, dass Du wieder
einmal einen willkürlichen Zeitpunkt festlegst, ab dem Vorschläge als
existenz angesehen werden.
> Und heute ist Github der alternativlose Platz für ein junges open Source> Projekt ;-)
Github ist nicht alternativlos, aber in vielen Fällen eine der
geeigneten Plattformen.
> Quasi jeder Entwickler hat bereits einen Account dort, es> gibt eine gigantische Community und jeder kennt es.
Das sind pauschalierende Aussagen, die sich so nicht halten lassen. Ich
sehe sehr stark davon aus, dass Josef noch keinen Account bei Github
hat. Ich selbst verwende Github natürlich auch, aber nur in
Leserichtung, so dass ich dort auch (noch) keinen Account habe. Ich
bezweifele, dass jeder Entwickler Github kennt. Ich habe in den letzten
Jahren noch etliche, überwiegend ältere, Entwickler kennengelernt, die
die Existenz von VCS komplett verleugnen und immer noch das händische
Erstellen und Ablegen von ZIP-Archiven als das Nonplusultra der
Versionierung darstellen.
Wer sich natürlich in der Open-Source-Szene bewegt, kennt natürlich Git,
SVN und Konsorten, aber das ist nur ein Bruchteil aller Elektronik- und
sogar Softwareentwickler.
> Wenn ich ein open Source Projekt bei mir privat starte auf einem eigenen> Server brauch ich erst mal Tage zum Aufsetzten der Infrastruktur, falls> ich das überhaupt kann, hab laufende Kosten und ich würde behauptet> GitHub kann all das besser wie ich. Über Dritte Dienste wie TravisCI und> Co will ich gar nicht erst reden. Auch die Zeit die eigene Infrastruktur> kostet nutzt man besser fürs coden.
Blablabla... Das bestreitet hier doch niemand.
> Folglich ist GitHub für neue open Source Projekte quasi Alternativlos.
Oben war es noch alternativlos, jetzt ist es nur noch quasi
alternativlos.
> Wenn man mal viele Mitstreiter hat und groß geworden ist kann man> natürlich über Alternative Hostingmöglichkeiten nachdenken.
Ähhh, nein. Gerade bei großen Projekten wäre es schon eher schwierig,
die Kosten für das zu übertragende Datenvolumen zu decken, sofern nicht
irgendein Sponsor oder geeignetes Geschäftsmodell dahinter steckt.
> Nextcloud übernimmt extrem viel Code von owncloud. owncloud geht dazu> über alles neu zu schreiben auf Basis von Go (Stichwort: Infinite> Scale), sodass der größte "Codespender" für die Basis wegfällt. Dann> wird es spannende ob Nextcloud es schafft von alleine genug Mitstreiter> zu finden um alle Code-Bereiche abzudecken.
Ich zitiere: "Prognosen sind schwierig, besonders wenn sie die Zukunft
betreffen."
> Hab ich nie behauptet, nur das Zentrum für neue open Source Projekte die> JETZT (!) entstehen, schneid nicht einfach meine Nebensätze ab, die sind> wichtig ;)
Dann solltest Du lieber einsehen, dass nicht Du als Erster Github
vorgeschlagen hast, auch wenn Du es nicht wahrhaben willst.
Andreas S. schrieb:> Dann solltest Du lieber einsehen,> dass nicht Du als Erster Github> vorgeschlagen hast, auch wenn Du es> nicht wahrhaben willst.
Hab ich nie behauptet oder zitiere mich wo ich das habe :P
Josef hat nach Meinungen gefragt, ich hab meine gesagt, mehr nicht. Ich
habe gesagt aktuell ist "Github-Zeit" und du fingst an mit "früher war
es Sourceforge, noch früher gab es nur Mailing-Listen". Dann sagtest du
das z.B. der Linux Kernel gar nix mit Github zu tun hat:
Andreas S. schrieb:> Der Linux-Kernel wird nach wie vor mittels Git auf kernel.org verwaltet.> Das hat nichts, aber auch so gar nichts mit Github zu tun.
und kurz darauf hin:
Andreas S. schrieb:> Github ist der Abklatsch, nicht das Original.
Na also hat Github doch das gute genommen und nachgebaut, also das
"Gute" destiliert für Andere :) Benutzen beide git, beide Bugtracker,
beide Pull-Requests... ich sehe da sehr viel Ähnlichkeit :)
Aber egal mit dir diskutieren macht so noch weniger Spaß wie mit Josef,
wenn nur Nebelbomben gezündet werden, Argumente verdreht werden und wenn
nix mehr geht wird von früher erzählt, auch wenn man dazu gar nichts
gesagt hat...
Julian W. schrieb:> Josef hat nach Meinungen gefragt, ich hab meine gesagt, mehr nicht. Ich> habe gesagt aktuell ist "Github-Zeit"
Nein, Du hast einen willkürlichen Betrachtungszeitraum angegeben, um die
unhaltbare Behauptung aufzustellen, dass Github das Nonplusultra sei.
> Na also hat Github doch das gute genommen und nachgebaut, also das> "Gute" destiliert für Andere :) Benutzen beide git, beide Bugtracker,> beide Pull-Requests... ich sehe da sehr viel Ähnlichkeit :)
Natürlich besteht eine gewisse Ähnlichkeit, aber es ist nicht dasselbe.
Nur um diesen Unterschied geht es. Bugtracker sind auch überhaupt nicht
an Git gebunden, sondern für manche gibt es eben eine VCS-Anbindung und
für andere ebene nicht. Das von Dir erwähnte Bugzilla ist wesentlich
älter als Git.
> Aber egal mit dir diskutieren macht so noch weniger Spaß wie mit Josef,
Ich habe eben keine Hemmungen, Deine völlig inkonsistenten und
unhaltbaren Argumentationen inhaltlich zu zerlegen.
Julian W. schrieb:> Stelle das gesamte (!) Projekt unter eine einheitliche> open Source Lizenz und nicht nur Teile davon. Welche ist> fast egal, ob GPL, AGPL oder CC. Hier eine Übersicht>> https://opensource.org/licenses
Creative-Commons ist auf der Seite nicht dabei.
Auf mehreren Seiten im Netz habe ich den Hinweis gefunden, dass
CC für Software nicht geeignet sei, meist ohne Angabe von Gründen,
oder mit dem Hinweis, dass ua. eine Regelung zum Quellcode fehlt.
Der Begriff Open-Source schreckt mich ab, da ich möglichen
Anwendern die Veröffentlichung des Quellcodes nicht auferlegen
möchte. Ausserdem habe ich selber für meine Hauptplatinen-Software
bisher keinen maschinenlesbaren Quellcode.
Was mir wichtig wäre:
Die Lizenz soll nicht widerrufbar sein. Niemand soll sich eine
Exclusiv-Lizenz verschaffen können. Kommerzielle Nutzung soll
erlaubt sein. Meine Haftung für Fehler sollte ausgeschlossen
sein. Die Weitergabe geänderter Versionen soll erlaubt sein.
Dabei soll die Art der Änderung ersichtlich sein, und ich
möchte als Autor des Originals genannt werden.
Welche Lizenz wäre da geeignet? Warum nicht Creative-Commons?
Falls ich eine andere Lizenz verwende: Wie kann ich Konflikte
mit der bereits vergebenen Lizenz für die CPU vermeiden?
> stellst du das ganze Projekt noch auf eine Plattform, die> kollaboratives Arbeiten am Code unterstützt und fördert.> Der de-facto Standard in der open Source Welt ist da Github.
Von solchen Dingen habe ich Null Ahnung, das würde ich gerne Anderen
überlassen. Vielleicht finden sich hier im Forum ein paar Leute.
> Welche Lizenz wäre da geeignet?
LGPL würde mir bei den genannten Forderungen einfallen. Vielleicht auch
BSD oder MIT
> Warum nicht Creative-Commons?
CC ist nunmal nicht für Software gedacht.
Josef G. schrieb:> Auf mehreren Seiten im Netz habe ich den Hinweis gefunden, dass> CC für Software nicht geeignet sei, meist ohne Angabe von Gründen,> oder mit dem Hinweis, dass ua. eine Regelung zum Quellcode fehlt.
Die CC-Webseite selbst liefert dazu die Antwort:
https://creativecommons.org/faq/#can-i-apply-a-creative-commons-license-to-softwareJosef G. schrieb:> Der Begriff Open-Source schreckt mich ab, da ich möglichen> Anwendern die Veröffentlichung des Quellcodes nicht auferlegen> möchte.
Musst du auch nicht.
Josef G. schrieb:> Die Lizenz soll nicht widerrufbar sein. Niemand soll sich eine> Exclusiv-Lizenz verschaffen können. Kommerzielle Nutzung soll> erlaubt sein. Meine Haftung für Fehler sollte ausgeschlossen> sein. Die Weitergabe geänderter Versionen soll erlaubt sein.
Dann wäre die BSD Lizenze was für dich. Ich würde dir persönlich die
BSD-3-Clause empfehlen.
Josef G. schrieb:> Falls ich eine andere Lizenz verwende: Wie kann ich Konflikte> mit der bereits vergebenen Lizenz für die CPU vermeiden?
Gibt es keine, da noch keiner Code beigesteuert hat hälst du das
alleinige Urheberrecht und kannst den Code einfach neu unter andere
Lizenz veröffentlichen.
Josef G. schrieb:> Die Pflege der Hauptplatinen-Software einschließlich Schnitt-> stelle zu den Steckkarten würde ich ungern aus der Hand geben.>> Gleiches gilt für die Festlegung der Hauptplatinen-Hardware> einschließlich Schnittstelle zu den Steckkarten, soweit> sie für die Software der Hauptplatine sichtbar sind.
Jeden Tag wacht ein Dummer auf, aber von solchen Idioten, die sich
darauf einlassen würden, gibts in einer Million Jahren höchtesns einen…
Josef, wenn du vor 100 Jahren mit diesem Projekt an die Öffentlichkeit
gegangen wärst, dann wärst du ein gemachter Mann gewesen.
Wenn du vor 50 Jahren damit gekommen wärst, dann hätten sich etliche auf
die FPAG-Platine gestürzt, aber hätten den bo8 bo8 sein lassen; du wärst
trotzdem ein gemachter Mann gewesen.
Wenn du heute mit sowas kommst, hast du den Stempel "Spinner" weg und
mit "gemachter Mann" wirds auch nix.
Merke: Wer zu spät kommt, den bestraft das Leben.
Uhu U. schrieb:> Merke: Wer zu spät kommt, den bestraft das Leben.
Mumpitz, hast wohl keinen Opa mehr.
Merke richtig:
"Ehre die alten - verspotte sie nie. Sie waren wie Du und Du wirst wie
Sie."
Deine Wünsche entsprechen doch genau dem, was in vielen Varianten der
BSD-Lizenz festgelegt wird.
Einige Autoren bestehen darauf, dass ihr Name genannt wird, andere
verbieten es sogar in Verbindung mit kommerziellen Produkten.
Letztendlich lassen sich da sehr viele Formulierungen anpassen. ABER man
muss auf jeden Fall berücksichtigen, welche Formulierungen in welchem
Rechtssystem zulässig und wirksam sind bzw. welche Folgen sich daraus
ergeben. Deutschland birgt natürlich die größten Risiken, da es hier die
Abmahnindustrie gibt, die bei "unkonventionellen" Lizenzen bzw.
Vertragstexten sofort die Chance nutzt, den Autor finanziell
auszunehmen. Das ist in anderen Ländern nicht der Fall.
Haftungsausschlüsse sind insbesondere für den nordamerikanischen Raum
sehr wichtig.
Wenn man ein Projekt unter einer Open-Source-Lizenz veröffentlicht,
bedeutet das im Allgemeinen nicht, dass Dritte all ihre Änderungen
komplett öffentlich machen müssen. Z.B. beinhaltet die GPL, dass
derjenige, der ein Kompilat erhält, auch einen Anspruch auf Herausgabe
der Quellen hat. Daraus folgt nicht, dass jeder Dritte ankommen und
die Quellen verlangen darf. Ebenso kann auch vertraglich festgelegt
werden, dass der Autor die Kompilate und Quellen nur seinem Auftraggeber
geben dürfe.
Wer also nur im stillen Kämmerchen an der Software herumbastelt, muss
nichts offenlegen.
IQ-Reflektor schrieb:> Uhu U. schrieb:>> Merke: Wer zu spät kommt, den bestraft das Leben.>> Mumpitz, hast wohl keinen Opa mehr.>> Merke richtig:> "Ehre die alten - verspotte sie nie. Sie waren wie Du und Du wirst wie> Sie."
Lesen scheinst du zu können, aber beim Textverständnis hast du
erhebliche Defizite…
Uhu U. schrieb:> Merke: Wer zu spät kommt, den bestraft das Leben.> Autor: Josef G. (bome) Benutzerseite> Datum: 26.05.2013 17:21
Er wartet halt gemütlich ab bis sich gar keiner mehr interessiert!
Josef G. schrieb:> Von solchen Dingen habe ich Null Ahnung, das würde ich gerne Anderen> überlassen. Vielleicht finden sich hier im Forum ein paar Leute.
Ich wäre durchaus bereit, das zu erledigen, aber natürlich nur auf einer
geeigneten rechtlichen Basis. Und dafür reicht es eben nicht aus, Code
an Stelle A abzulegen und an Stelle B darauf hinzuweisen, dass die
Lizenzbedingungen an Stelle C zu finden seien, aber natürlich unpräzise
formulierte Vorbehalte bestünden.
Josef G. schrieb:> Die Lizenz soll nicht widerrufbar sein. Niemand soll sich eine> Exclusiv-Lizenz verschaffen können. Kommerzielle Nutzung soll> erlaubt sein. Meine Haftung für Fehler sollte ausgeschlossen> sein. Die Weitergabe geänderter Versionen soll erlaubt sein.> Dabei soll die Art der Änderung ersichtlich sein, und ich> möchte als Autor des Originals genannt werden.
Hört sich doch ganz nach MIT Lizenz an :)
https://de.wikipedia.org/wiki/MIT-Lizenz
Danke für die bisherigen Hinweise zur Lizensierung.
Das Thema hat ja Andreas Schweigstill hier eingebracht.
Die Entscheidung für eine Lizenz ist schwierig,
wahrscheinlich schaffe ich es heute nicht mehr.
Da ja offenbar Creative-Commons nicht für Software geeignet ist:
Zählt VHDL-Code hier zur Software? Ist es ratsam, für den VHDL-
Code und für die Software verschiedene Lizenzen zu verwenden?
Bei OpenCores werden die meisten Projekte unter der LGPL oder BSD
veröffentlicht. Offenbar scheinen diese Lizenzen sehr wohl für HDL
geeignet zu sein.
https://opencores.org/
Josef G. schrieb:> Zählt VHDL-Code hier zur Software? Ist es ratsam, für den VHDL-> Code und für die Software verschiedene Lizenzen zu verwenden?
Ja, mit dem VHDL-Code wird bei dir ebenso verfahren wie anderswo mit
C-Code. Den solltest du also sinnvollerweise unter die gleiche Lizenz
stellen.
Eine Besonderheit stellt möglicherweise die Dokumentation dar. Für diese
wäre Create Commons eine gut geeignete Alternative, vor allem ist sie
für solche Anwendungsfälle gemacht.
Viele Projekte verfahren nach genau diesem Prinzip:
- die Software steht unter BSD-Lizenz (oder einer der anderen)
- die Dokumentation steht unter CC-Lizenz.
Wichtig ist, dass du das einfach groß ranschreibst und dir in der
gesamten Dokumentation (also auch Webseite und so weiter) nicht
widersprichst. Es bringt ja nichts, wenn an einer Stelle steht "Alle
Rechte vorbehalten." und auf der anderen "Die Rechte sind Euch." - das
freut Anwälte.
Danke für die Antworten. Mir sind Bedenken gekommen, ich
möchte nicht, dass hier noch jemand Schwierigkeiten wegen
unbefugter Rechtsberatung bekommt. Ich sollte mich besser
selber weiter im Netz informieren.
Wenn ich mich entschieden habe, werde ich hier schreiben,
wie ich es machen will. Dann kann mich noch jemand
bremsen, bevor ich alles vermassle.
Josef G. schrieb:> Mir sind Bedenken gekommen, ich möchte nicht, dass hier noch> jemand Schwierigkeiten wegen unbefugter Rechtsberatung bekommt.
Wir sind keine Anwälte und geben nur allgemein bekanntes Wissen wieder.
Informiere dich, was die Lizenzen angeht und tue das richtige für dein
Projekt.
Die Software-Lizenzen sind furchtbar kompliziert, ich verstehe
sie nicht. Ich habe mich deshalb für eine CC-Lizenz entschieden,
und zwar für https://creativecommons.org/licenses/by-sa/4.0/deed.de
Meine Gründe:
Julian W. schrieb:> Die CC-Webseite selbst liefert dazu die Antwort:> https://creativecommons.org/faq/#can-i-apply-a-creative-commons-license-to-software
Von der Nutzung von CC für Software wird abgeraten, sie wird
jedoch nicht ausgeschlossen. Als Gründe werden genannt:
Zu Quellcode gibt es keine speziellen Bestimmungen.
Zu Patentrechten gibt es keine Aussagen.
CC ist nicht kompatibel zu den wichtigsten Software-
Lizenzen, so dass gemischte Projekte schwierig sind.
Bestimmungen zu Quellcode möchte ich auch gar nicht.
Aussagen zu Patentrechten braucht man nicht, ich habe keine.
Das Kompatibilitäts-Problem ist vielleicht bei CC größer als
es bei anderen Lizenzen wäre, grundsätzlich besteht es aber
auch bei anderen Lizenzen.
Die Lizenz kann ich einheitlich für das ganze Projekt
verwenden. Und ich minimiere das Risiko, dass es wegen
der für die CPU bereits vergebenen Lizenz Probleme gibt.
Ich würde also auf der Website die bisherigen Lizenzhinweise
entfernen und durch den Verweis auf diese CC-Lizenz ersetzen,
falls in den nächsten Stunden hier niemand Einwände hat.
Josef G. schrieb:> Von der Nutzung von CC für Software wird abgeraten, sie wird> jedoch nicht ausgeschlossen.
Hiermit ziehe ich mein Angebot zurück, Dich bei der Veröffentlichung
usw. zu unterstützen. Mach Deinen Scheiß doch alleine!
Andreas S. schrieb:> Mach Deinen Scheiß doch alleine!
Hast du nicht gemerkt, dass er das schon immer so macht? Wieso sollte er
plötzlich von dieser Linie abweichen?
Edson schrieb:> Andreas S. schrieb:>> Mach Deinen Scheiß doch alleine!>> Wie immer reflektiert und besonnen, der gute Andreas. Da wäre "nomen est> omen" ein Segen...
Andreas hat aber völlig recht! Josef will uns hier nur verarschen! Er
könnte seine eigene Lizenz schreiben:
- Änderungen müssen mir mitgeteilt werden
- Übernehme keine Gewähr auf Fehlerfreiheit
- Nutzung auf eigene Gefahr
- Weitergabe nur mit Quellcode
- darf gewerblich verwendet werden
- Nennung des Urhebers verpflichtend
Das kann er in seinen Quellcode reinschreiben. Fertig!
Josef G. schrieb:> Die Software-Lizenzen sind furchtbar kompliziert, ich verstehe> sie nicht
Nun siehst du, wie es den anderen mit deinem Projekt geht. Das ist auch
so furchtbar kompliziert und verquer gedacht das es niemand versteht.
Außer dir natürlich.
Josef G. schrieb:> Die Software-Lizenzen sind furchtbar kompliziert, ich verstehe> sie nicht.
Du bist ja nicht gezwungen, eine bereits vorhandene Lizenz auf Deine
Software anzuwenden.
Schreibe einfach Deine eigene Lizenz. Dann verstehst Du sie auch.
Josef G. schrieb:> Ich würde also auf der Website die bisherigen Lizenzhinweise> entfernen und durch den Verweis auf diese CC-Lizenz ersetzen,
Erledigt.
Lona schrieb:> Andreas hat aber völlig recht! Josef will uns hier nur verarschen!
Andreas hat das Thema selbst aufgebracht und jetzt ist er beleidigt weil
Josef ihn dafür nicht braucht. Deine Auffassung von Recht und Unrecht
teile ich übrigens nicht, ich könnte aber auch Kritik üben ohne in die
Fäkalsprache abzurutschen.
Edson schrieb:> Andreas hat das Thema selbst aufgebracht und jetzt ist er beleidigt weil> Josef ihn dafür nicht braucht.
Darum geht es doch nicht. Ich habe darauf hingewiesen, dass der ganze
Kram unter einer geeigneten rechtlichen Bedingungen bereitgestellt
werden muss, damit man als Dritter in keine Schwierigkeiten gerät.
Immerhin hat Josef die Notwendigkeit erkannt. Dass er sich nun aber
ausgerechnet ein Lizenzmodell aussucht, von dem wirklich so ziemlich
jeder für Software abrät, führt das ganze wieder ad absurdum.
Zwischenzeitlich hatte ich nämlich eigentlich schon damit begonnen, ein
entsprechendes Projekt auf Github einzurichten. Github rät übrigens in
aller Deutlichkeit von der CC für Software ab, und zwar aus den von
Josef selbst genannten Gründen. Open-Source-Projekte werden heutzutage
eigentlich nur dann erfolgreich, wenn man sie mit anderen Programmen
kombinieren kann. Dies wird aber beim bo8 schon von vornherein
bestmöglich verhindert.
Für solch ein Vorgehen gibt es sogar einen Ausdruck: "Angst vor Erfolg".
Dieser Ausdruck wird sowohl als Anti-Pattern in der Softwarenentwicklung
und im Projektmanagement als auch in der Psychologie als persönliche
Verhaltensstörung verwendet.
https://de.wikipedia.org/wiki/Anti-Pattern#Angst_vor_Erfolghttps://zentreasures.de/angst-vor-erfolg/http://www.fuermetz-coaching.de/angst-vor-erfolg/
Josef G. schrieb:> Die Software-Lizenzen sind furchtbar kompliziert, ich verstehe> sie nicht. Ich habe mich deshalb für eine CC-Lizenz entschieden,
Du verstehst die Thematik nicht. Also wählst du etwas, von dem
diejenigen, die die Thematik verstehen, explizit abraten.
Magst du mal kurz darlegen, warum du der Meinung bist, du wüsstest es
besser als diejenigen, die sich damit auskennen?
> Von der Nutzung von CC für Software wird abgeraten, sie wird> jedoch nicht ausgeschlossen. Als Gründe werden genannt:
Es wird auch davon abgeraten, ohne Schutzkleidung mit einer Säge auf
einen Baum zu klettern und den Ast abzusägen, auf dem man sitzt. Kann
man natürlich trotzdem machen...
> Zu Quellcode gibt es keine speziellen Bestimmungen.
Das ist schlecht. Denn es handelt sich bei dir um Quellcode, und wenn es
keine Bestimmungen gibt, ist die Lizenz hinfällig.
> Zu Patentrechten gibt es keine Aussagen.
Das ist schlecht. Die sind in anderen Ländern äußerst wichtig.
> CC ist nicht kompatibel zu den wichtigsten Software-> Lizenzen, so dass gemischte Projekte schwierig sind.
Das ist schlecht. Denn das heißt, dass ich in deine Quelltexten kein
Wissen einbringen kann, was ich in anderen Projekten gewonnen habe -
ohne nachzuweisen, dass ich diese anderen Projekte dafür nie angefasst
habe.
> Bestimmungen zu Quellcode möchte ich auch gar nicht.
Solltest du aber haben.
> Aussagen zu Patentrechten braucht man nicht, ich habe keine.
Aber andere. Es geht nicht darum, dass du andere verklagen willst,
sondern dass andere dich verklagen können.
> Das Kompatibilitäts-Problem ist vielleicht bei CC größer als> es bei anderen Lizenzen wäre, grundsätzlich besteht es aber> auch bei anderen Lizenzen.
Ja, nicht alle Lizenzen sind mit allen anderen Lizenzen kompatibel. Das
größte Übel zu wählen zeugt jedoch weder von Weisheit noch von Können.
> Die Lizenz kann ich einheitlich für das ganze Projekt> verwenden. Und ich minimiere das Risiko, dass es wegen> der für die CPU bereits vergebenen Lizenz Probleme gibt.
Und die Lizenz ist für das eigentliche Projekt falsch gewählt.
> Ich würde also auf der Website die bisherigen Lizenzhinweise> entfernen und durch den Verweis auf diese CC-Lizenz ersetzen,> falls in den nächsten Stunden hier niemand Einwände hat.
Och, Einwände gibt's genug... sogar begründete.
S. R. schrieb:> Josef G. schrieb:>> Von der Nutzung von CC für Software wird abgeraten, sie wird>> jedoch nicht ausgeschlossen. Als Gründe werden genannt:>> Es wird auch davon abgeraten, ohne Schutzkleidung mit einer Säge auf> einen Baum zu klettern und den Ast abzusägen, auf dem man sitzt. Kann> man natürlich trotzdem machen...
Aber es gibt mindestens einen Hersteller von Kettensägen, der in seiner
Bedienungsanleitung nicht ausdrücklich geschrieben hat, dass man sich
verletzen könne, wenn man den Ast, auf dem man sitzt, absägt. Also
sollte man unbedingt so vorgehen.
S. R. schrieb:>> Zu Quellcode gibt es keine speziellen Bestimmungen.>> Das ist schlecht. Denn es handelt sich bei dir um Quellcode,> und wenn es keine Bestimmungen gibt, ist die Lizenz hinfällig.
Nein. Es gibt keine speziellen Bestimmungen. Wenn der Quellcode
weitergegeben wird, gelten die allgemeinen Bestimmungen der Lizenz.
Es besteht nur kein Anspruch auf Herausgabe des Quellcodes
für Programme, die ohne Quellcode weitergegeben wurden.
Im übrigen ist VHDL-Code keine typische Software,
die Softwarelizenzen sind dafür nicht gemacht.
Josef G. schrieb:> Im übrigen ist VHDL-Code keine typische Software,> die Softwarelizenzen sind dafür nicht gemacht.
Ich sehe im Rahmen deines Projektes keinen großen Unterschied. Typische
Software läuft auf einem Computer, dein VHDL-Code in einem Simulator
oder einem FPGA.
In jedem Fall zeigen andere HDL-Projekte (wie z.B. das genannte
OpenCores), dass einige typische Software-Lizenzen auch dort geeignet
sind.
Im Übrigen hast du meine Frage nicht beantwortet:
> Magst du mal kurz darlegen, warum du der Meinung bist, du wüsstest> es besser als diejenigen, die sich damit auskennen?
S. R. schrieb:> Im Übrigen hast du meine Frage nicht beantwortet:>> Magst du mal kurz darlegen, warum du der Meinung bist, du>> wüsstest es besser als diejenigen, die sich damit auskennen?
Ich bin nicht dieser Meinung.
Die Gründe für meine Entscheidung habe ich genannt.
Uhu U. schrieb:> Paging ist kein Hexenwerk. Ob das jetzt im µC-Chip selbst integriert,> oder aus peripheren Chips aufgebaut ist, ist völlig egal.
Nicht ganz. Wenn Paging im uC selbst integriert ist, dann besitzt der uC
auch direkt Befehle um Daten oder (Sub)-Routinen in verschiedene Pages
aufzurufen. Wenn nicht, muss man erst mühsam den jetzigen Page irgendwo
aufheben, dann Page schalten, Daten auslesen bzw Code ausführen und
abschliessend den alten Page wieder zurückschalten.
Ohne uC Support:
Trotzdem wird der Gewinn durch die Hardwarerealisierung in einem
Benchmark, wenn man es nicht extra dumm anstellt, im Rauschen
untergehen.
Paging auf einem µC ist immer nur eine Krücke, um einen zu kleinen
Adressraum aufzubohren - mit heutigen µC hat sich das überlebt.
Nicht W. schrieb:> Gibt keine schwerwiegenden Probleme bei der Realisierung nach Vorgabe.
Schade, dass du nicht mehr geschrieben hast, zB. welches FPGA-Board
du hast und was deine Meinung zum Projekt ist.
S. R. schrieb:> Das ist schlecht. Denn das heißt, dass ich in deine Quelltexten kein> Wissen einbringen kann, was ich in anderen Projekten gewonnen habe -> ohne nachzuweisen, dass ich diese anderen Projekte dafür nie angefasst> habe.
Das ist doch von Dir selbst zusammengereimt, oder? Diese
"Nachweispflicht" ist doch in keinster Weise mit dem realen Leben
vereinbar.
"Wo kein Kläger, da kein Richter" - Volksweisheit
>Anyone?
Josef wird hier von allen Seiten angepisst. Selbst Leute, die hier als
Unternehmer auftreten verhalten sich ihm gegenüber wie die sich in der
8. Klasse auf dem Pausenhof als die stärksten fühlten.
Josef bleibt immer ruhig und sachlich. Vergreift sich nie im Ton.
Und jetzt willst Du ihn noch angreifen, gerade weil er sich nicht
provozieren lässt? Kopfschüttel.
Xela schrieb:> Und jetzt willst Du ihn noch angreifen,
Worin siehst du denn den Angriff? Dass er ausgesprochen hat, was hier so
ziemlich alle sehen, die den Fall schon länger verfolgen?
Ich wundere mich immer wieder darüber, wie wenig so einige hier im
Stande sind, einen klaren Gedanken zu erfassen und darauf einzugehen.
Stattdessen wird rumfantasiert und zum schlechten Schluss auch noch ein
Vorwurf aus dem eigenen geistigen Dünnpfiff generiert und dem anderen an
den Kopf geknallt.
Das "politisch korrekte Denken", das allerorten propagiert und gefordert
wird, scheint dem Verstand wirklich höchst abträglich zu sein…
Josef G. schrieb:>>> Magst du mal kurz darlegen, warum du der Meinung bist, du>>> wüsstest es besser als diejenigen, die sich damit auskennen?> Ich bin nicht dieser Meinung.> Die Gründe für meine Entscheidung habe ich genannt.
Okay. Dann empfinde ich deine Entscheidung einfach nur seltsam.
Edson schrieb:> Das ist doch von Dir selbst zusammengereimt, oder?> Diese "Nachweispflicht" ist doch in keinster Weise> mit dem realen Leben vereinbar.
Wenn die Lizenzbedingungen eine Zusammenarbeit bzw. Übernahme
untersagen, bleibt nur eine sogenannte "clean room implementation". Da
ist der entsprechende Nachweis dann mit drin. Alles andere ist
juristisch angreifbar.
> "Wo kein Kläger, da kein Richter" - Volksweisheit
Stimmt fast immer.
Wie auch immer, die Entscheidung ist gefallen und hat - wiedermal -
durch ihre Unkonventionalität das eigentliche Problem nicht gelöst.
Josef G. schrieb im Beitrag #5932590:
> Es erhöht die Chance, dass das Projekt nicht verwässert wird.
So verwässert wie Linux, Libre Office, Blender, Freecad, Kicad etc. pp.?
Der Vorteil dieser 'Verwässerung' ist, das sich der bessere Fork
durchsetzt, auch wenn der urspüngliche Verfasser zwanghaft auf seinem
Projekt sitzt und im wesentlichen damit beschäftigt ist sich gegen jede
Art von Kritik abzuhärten.
Wenn man keinerlei Möglichkeit hat auch nur einen Cent mit seinem Kram
zu verdienen, ist doch das größte Lob das die eigene Arbeit der
Community gefällt und die bereit ist sich da einzubringen.
Du sperrst aber in nur jeder möglichen Beziehung andere aus, frustrierst
sie, gängelst sie, bist jedem Argument gegenüber verschlossen und folgst
nur Deinen eigenen Gedanken.
Kann man machen, aber dann bleibt mal halt allein.
Wie Du siehst.
Josef G. schrieb:> Nicht W. schrieb:>> Gibt keine schwerwiegenden Probleme bei der Realisierung nach Vorgabe.>> Schade, dass du nicht mehr geschrieben hast, zB. welches FPGA-Board> du hast und was deine Meinung zum Projekt ist.
Läuft auf einem Spartan 6 und war damals im Rahmen einer studentischen
Arbeit. Der Einstieg gestaltete sich ehrlich gesagt etwas mühselig
(gerade wenn man Dokumäßig verwöhnt ist) und manchmal waren die
Hintergründe nicht direkt klar. Aber es half ungemein an bestimmten
Stellen einfach mal weiter zu machen oder das Projekt ein paar Tage
liegen zu lassen. Trotz allem sehr lehrreich.
Josef G. schrieb:> Nicht W. schrieb:>> Läuft auf einem Spartan 6>> Du hast das Projekt portiert?>> ???
Sollte nicht heissen, dass ich was dagegen hätte,
ich bin nur erstaunt, und wollte nachfragen, ob
du dich da nicht verschrieben hast.
Du musst natürlich nicht nochmal antworten.
Danke jedenfalls für deinen Beitrag.
Josef G. schrieb:>> Wenn die Lizenzbedingungen eine ... Übernahme untersagen,> Erhöht die Chance, dass das Projekt nicht verwässert wird.
Ich verstehe deinen Gedankengang nicht.
Du als Maintainer des Projektes entscheidest, was du übernimmst oder
nicht. Für den Linux-Kernel entscheidet das z.B. Linus Torvalds
persönlich. Wenn er "nein" sagt, dann kommt es in sein Projekt nicht
rein.
Es gibt viele Forks von Linux, aber es gibt nur genau ein Original - und
das liegt auf kernel.org und in der Hand von einer Person.
Wie du da auf "verwässert" kommst, ist mir nicht richtig klar.
S. R. schrieb:> Du als Maintainer des Projektes entscheidest,
Versteh ich jetzt nicht. Ich dachte, ich hätte durch
die CC-Lizenz alles mehr oder weniger freigegeben.
Josef G. schrieb:> Julian W. schrieb:>> ...>> stellst du das ganze Projekt noch auf eine Plattform,>> ...> Von solchen Dingen habe ich Null Ahnung, das würde ich gerne Anderen> überlassen. Vielleicht finden sich hier im Forum ein paar Leute.
Es scheint also doch Leute zu geben, die das Projekt auf ihrem
Board realisiert haben. Vor langer Zeit hat schon mal jemand
so etwas angedeutet:
Beitrag "Re: 8bit-Computing mit FPGA"
Wäre halt schön, wenn sich noch der eine oder andere melden würde.
Josef G. schrieb:>> Du als Maintainer des Projektes entscheidest,>> Versteh ich jetzt nicht. Ich dachte, ich hätte durch> die CC-Lizenz alles mehr oder weniger freigegeben.
Du missverstehst das Prinzip.
Du hast mit der CC-Lizenz jedem erlaubt, deinen Code zu benutzen (mit
gewissen Randbedingungen, die es dank der CC-Lizenz praktisch
erschweren, aber das ist egal).
Trotzdem bist du Eigentümer des Codes und hast die vollständigen
Urheberrechte (denn du hast ihn selbst geschrieben). Es steht dir frei,
den Code einzutüten und kommerziell zu vermarkten. Dieses Recht kannst
du nicht aus der Hand geben: Es ist dein Code.
Wenn du deinem Nachbar deinen Rasenmäher gibst, dann darf er damit
(unter bestimmten Randbedingungen, z.B. Rückgabe und Pflege) auch alles
tun, was er will - trotzdem ist es dein Rasenmäher.
Sepp schrieb:> Hat die Bo8-CPU besondere Vorteile ?
Vor allem ist sie besonders einfach zu verstehen und
in Assembler zu programmieren (meine ich jedenfalls).
Sie unterstützt Memory-Paging, zB. kann man von einer
64K-Seite in eine andere 64K-Seite springen.
Man braucht beim Programmieren nicht auf Interrupts
Rücksicht nehmen, da die CPU keine Interrupts hat.
Hast du den Artikel 8bit-CPU: bo8 schon angeschaut?
> Vielleicht gut diskret zu bauen ?
Kaum.
Josef G. schrieb:> Vor allem ist sie besonders einfach zu verstehen und> in Assembler zu programmieren
ROFL
Das ist mit Abstand der beste Satz in ganzen Faden.
Gu. F. schrieb:> Josef G. schrieb:>> Vor allem ist sie besonders einfach zu verstehen und>> in Assembler zu programmieren>> ROFL> Das ist mit Abstand der beste Satz in ganzen Faden.
Das sieht unser Prof ähnlich, weshalb zum bo8 ein Laborversuch
existiert.
Josef G. schrieb:> Vor allem ist sie besonders einfach zu verstehen und> in Assembler zu programmieren (meine ich jedenfalls).
Bestens geeignet, um Assembler zu lehren und Spreu vom Weizen zu
trennen. Wer es damit gut zurecht kommt, also mit Dokumentation,
Maschine und Programmierumgebung, der schafft dann auch alle anderen
Architekturen und Programmieraufgaben mit links.
Josef G. schrieb:>> Du hast mit der CC-Lizenz jedem erlaubt,>> Hast du die Kurzfassung der Lizenz überhaupt> angeschaut, die ich dort verlinkt habe?
Ja. Warum fragst du?
Du erlaubst anderen, den Code unter den Bedingungen der CC-Lizenz zu
benutzen, zu verändern, zu verbreiten. Für dich gilt die CC-Lizenz
explizit nicht, denn du lizenzierst den Code nicht von Josef. Du bist
Josef.
Für alle anderen ist es schwierig, den Code in andere Software zu
integrieren, oder andere Software in den Code zu integrieren, weil die
Lizenzen inkompatibel sind.
Aber gut, die Entscheidung ist gefallen. Lassen wir das Thema.
Nicht W. schrieb:> Bei einem reinen Nachbau wäre laut Prof die Anforderung an eine> wiss.> Arbeit (Transferleistung) nicht erfüllt gewesen. Daher der Spartan 6.
Das heißt es gibt eine BA oder MA dazu? Wie heißt die denn?
Hat sich schonmal jemand die Arbeit gemacht den bo8 mit anderen
Implementierungen (zB Z80 in vhdl) bzgl Resourcen, Geschwindigkeit usw
zu vergleichen?
Solche Infos hab ich bisher nicht gefunden ...
@bome: hast du Infos bzgl Auslastung, Performance usw auf einer deiner
Webseiten?
Wieso enden eigentlich alle Dateien mit .txt?
Und wieso verwendest du kein Versionierungssystem wie GIT?
Mampf F. schrieb:> Wieso enden eigentlich alle Dateien mit .txt?>> Und wieso verwendest du kein Versionierungssystem wie GIT?
Die Fragen wurden schon mehrfach gestellt und nicht beantwortet. Der
große Meister scheint das für unwichtig zu halten.
Uhu U. schrieb:> Mampf F. schrieb:>> Wieso enden eigentlich alle Dateien mit .txt?>>>> Und wieso verwendest du kein Versionierungssystem wie GIT?>> Die Fragen wurden schon mehrfach gestellt und nicht beantwortet. Der> große Meister scheint das für unwichtig zu halten.
wt...
da macht er dann lieber sowas hier?
1
12.04.2018 coka.txt
2
12.04.2018 teca.txt
3
4
25.10.2018 steu.c
5
6
03.11.2018 emul.c
7
12.04.2018 em-a.txt
8
12.04.2018 em-b.txt
9
12.04.2018 em-c.txt
10
...
Das kann doch nicht sein Ernst sein ...
Okay, langsam bekomme ich einen Eindruck von seiner Beratungsresistenz
... Schade, dass so viele Leute wirklich nur gegen eine Wand geredet
haben - die Zeit hätten sie besser nutzen können.
Und gleichzeitig will bome echt Feedback zu seinem Projekt?
Das kann doch nicht sein Ernst sein xD
Mampf F. schrieb:> @bome: hast du Infos bzgl Auslastung, Performance usw> auf einer deiner Webseiten?
Nein. Darüber weiss ich selber nichts.
> Wieso enden eigentlich alle Dateien mit .txt?
Nicht alle. Die .txt-Dateien im Verzeichnis Info und im
Verzeichnis soft sind nun einmal nichts anderes als .txt-Dateien.
Die Dateien im Verzeichnis vhdl haben Endungen, die nicht jeder
Texteditor kennt. Durch die Zusatz-Endung .txt kann jeder sie lesen.
> Und wieso verwendest du kein Versionierungssystem wie GIT?
Weil ich davon nichts verstehe.
Und bisher war ich der einzige Bearbeiter.
Josef G. schrieb:>> Und wieso verwendest du kein Versionierungssystem wie GIT?>> Weil ich davon nichts verstehe.> Und bisher war ich der einzige Bearbeiter.
Hmm, es lohnt sich, auch wenn man nur alleine an einem Projekt arbeitet,
mit Versionsverwaltung zu arbeiten.
So schwierig ist das nicht.
Auf github oder gitlab einen Account erzeugen, ein Projekt anlegen, dann
das Projekt klonen:
> git clone https://gitlab.com/bome8
Die Dateien in das Verzeichnis kopieren, dann ein
> git add *
gefolgt von
> git commit -a
Dann ein Kommentar angeben, wie der Commit heißt. Anschließend ein
> git push
Dann ist es auf dem Server.
Da du ja nur alleine arbeitest, musst du git add nur immer für jede neue
Datei einmal machen und ansonsten nach jeder Änderung, wenn du es
einchecken möchtest, ein git commit und ein git push.
Das ist alles :)
Falls es irgendwann die CPU als Einzelbaustein geben sollte,
wäre das vermutlich die Version, die ich in der CPU-Doku und
im Wiki-Artikel Version 1 genannt habe, mit nur einem Takt,
den ich dort clk2 genannt habe.
Der synchrone Reset hat den Nachteil, dass er nach Power-Up
erst nach der ersten Taktflanke wirkt und bis dahin die Ausgänge
undefiniert sind. Im FPGA kann man das vermeiden durch Initialwerte
im VHDL-Code. Beim ASIC bräuchte man vermutlich einen zusätzlichen
Eingang, mit dem man die Typleitungen auf Null setzen und Adressbus
und Datenbus hochohmig schalten kann, oder einen zweiten asynchronen
Power-Up-Reset mit entsprechender Wirkung.
Insgesamt hätte man dann wieder 32 Signal-Anschlüsse an der CPU.
Das ganze könnte ich mir vorstellen im PLCC44-Gehäuse, auf jeder
Seite 8 Signale, zweimal GND, einmal VCC.
Konkret könnte man das realisieren mittels Antifuse-FPGA
von Actel/Microsemi, eingebaut in ein PLCC44-Leergehäuse.
Wäre das nicht ein interessantes Projekt
für Leute mit entspechenden Möglichkeiten?
Josef G. schrieb im Beitrag #5936859:
> Hoffentlich meldest du dich hier nochmal?
Das war ein Troll.
Er nennt sich sonst auch gern MaWin und triezt den richtigen MaWin.
Lothar M. schrieb:> Uhu U. schrieb:>> Lothar, das war jetzt aber unchristlich
Solange sich nicht auch noch der User
Nicht W. (nichtsowichtig)
als Troll herausstellt, geht's ja noch.
Josef G. schrieb:> Solange sich nicht auch noch der User> Nicht W. (nichtsowichtig)> als Troll herausstellt, geht's ja noch.
Habe mal gesucht nach Beiträgen von "nichtsowichtig".
Tja ...
Die Realisierung des Gesamtsystems in spezieller Hardware hatte
ich mir früher so vorgestellt, dass die realen Steckkarten auch
ROM und vielleicht RAM enthalten. Durch die FPGA-Boards mit
ihrem großen RAM bin ich von dieser Vorstellung abgekommen.
Die Steckkarten sollten nur spezielle Hardware enthalten,
die von der CPU durch IO-Befehle H.. angesprochen wird.
An jedem Steckplatz bräuchte man die Signale
Adressbus, Datenbus, Reset, Repeat, Takte, ausserdem
HS (zeigt an, dass ein HA-Halbzyklus die Karte meint).
Vielleicht auch noch ein Signal SR (service-request).
Die 8 SR-Signale könnte man in einer LED-Zeile anzeigen.
Alle Signale an den Steckplätzen wären unidirektional.
Vergleiche hierzu die Entity-Schablone expa4 im vhdl-Code.
Die Anbieter von Steckkarten wären völlig selbständig, auch
bezüglich Lizenz-Fragen. Die Steckkarten-Software ist sauber
getrennt von der Software der Hauptplatine, die Anbieter
wären ebenso selbständig wie die Anbieter der Steckkarten.
Das Booten der Steckkarten-Software geschieht bisher manuell
für jede Steckkarte einzeln, das wäre noch zu automatisieren.
Ebenfalls bisher nicht realisiert ist ein nach dem Booten
zu aktivierender Schreibschutz für die RAM-Bereiche, die
als ROM deklariert sind.
Der Gedankengang ist natürlich schon einigermaßen hirn-inkompatibel mit
dem eines Hardware-Verliebten im siebten Himmel, aber man sollte das
schon von der Anwendung her denken. Welchen Anwendungsbereich hat sich
Josef denn vorgestellt? Und sind diese Anwendungen heute nicht längst
moderner, leistungsfähiger und bei geringerem Aufwand zu lösen?
Josef G. schrieb:> Die Anbieter von Steckkarten wären völlig selbständig,
Na das ist aber ein ganz feiner Zug von Dir.
Bei der gigantischen Zielgruppe sicher ein Leckerbissen für jeden
Hardwarehersteller.
Ca. drei Stück pro Jahr gehen da sicher über den Ladentisch.
Da kann der Arduino ja einpacken.
Michael K. schrieb:> Ca. drei Stück pro Jahr gehen da sicher über den Ladentisch.
Sei vorsichtig mit solchen Schätzungen - da haben schon andere ganz
furchtbar daneben gelegen…
Josef G. schrieb:> Beim ASIC bräuchte man vermutlich einen zusätzlichen> Eingang, mit dem man die Typleitungen auf Null setzen> und Adressbus und Datenbus hochohmig schalten kann, ...
Wozu? Wenn ich mir klassische Schaltungen der 80er anschaue, dann ist
die gesamte Schaltung gleichzeitig im Reset (und eine Reset-Beschaltung
notwendig). Ungültige Daten für einen Takt auf dem Bus sind dann auch
egal.
Zumindest war es einem Z80 egal. Moderne Prozessoren treiben sämtliche
Pins erstmal mit "hochohmig", bis die Reset-Sequenz durch ist. Wäre
vielleicht für dich auch eine Idee.
> Konkret könnte man das realisieren mittels Antifuse-FPGA> von Actel/Microsemi, eingebaut in ein PLCC44-Leergehäuse.
Du willst einen FPGA-Wafer selbst in ein Gehäuse einbauen und erwartest,
dass das funktioniert? Ich bezweifle, dass das auch nur annähernd
realistisch ist...
> Wäre das nicht ein interessantes Projekt> für Leute mit entspechenden Möglichkeiten?
...die einzigen mit solchen Möglichkeiten sitzen in der Industrie und
dürfen nicht, oder sie sitzen in der Akademie. Du kannst ja mal bei der
örtlichen Hochschule anfragen. Meine alte Uni hatte z.B. einen Reinraum.
Josef G. schrieb:> Die Realisierung des Gesamtsystems in spezieller Hardware hatte> ich mir früher so vorgestellt, dass die realen Steckkarten auch> ROM und vielleicht RAM enthalten.
Wenn du dir einen klassischen Prozessor vorstellst, also auf dem Niveau
eines 6502 oder 8080 (gegen die konkurrierst du), dann müssen RAM und
ROM irgendwo liegen. Eine Steckkarte wäre zeitgemäß und angemessen.
Mein Z80-Board tut z.B. ebenfalls genau das.
> Durch die FPGA-Boards mit ihrem großen RAM bin ich von> dieser Vorstellung abgekommen.> Die Steckkarten sollten nur spezielle Hardware enthalten,> die von der CPU durch IO-Befehle H.. angesprochen wird.
Aber auf einem FPGA-Board sind Steckkarten vollkommen fehlplatziert.
Einerseits ist die klassische Peripherie schon mit drauf (VGA, PS/2,
UART, ...), andererseits lässt sich fehlende Peripherie bereits im FPGA
gleich mit synthetisieren. Dafür sind die Dinger da.
Im Gegensatz zu klassischer TTL-Technik sind FPGAs elektrisch recht
empfindlich. Robuste Steckkarten, angemessenerweise in 5V-Technik,
kriegst du da ohne aufwändige Verschaltung garnicht angeschlossen.
Sinnvoller ist es, zusätzliche Peripherie im FPGA zu haben und deren
Funktionen über die Pins hinauszuführen. Der Systembus bleibt dann im
FPGA.
> Vielleicht auch noch ein Signal SR (service-request).> Die 8 SR-Signale könnte man in einer LED-Zeile anzeigen.
Was soll dieses Signal bedeuten?
Dass die Steckkarte kaputt ist und ersetzt werden muss?
Das sollte der Computer selbst herausfinden können.
> Alle Signale an den Steckplätzen wären unidirektional.> Vergleiche hierzu die Entity-Schablone expa4 im vhdl-Code.
Du willst also den Datenbus ZWEIMAL herausführen, einmal lesend und
einmal schreibend? Das wären dann ... 16 Adressleitungen, 2x8
Datenleitungen, ein paar Steuerleitungen, Takte... um die 40 Leitungen,
Stromversorgung nicht eingerechnet? So viele Pins hat ein PLCC44 doch
garnicht zur freien Verfügung?
> Das Booten der Steckkarten-Software geschieht bisher manuell> für jede Steckkarte einzeln, das wäre noch zu automatisieren.
Du musst jede Karte einzeln aktivieren?
> Ebenfalls bisher nicht realisiert ist ein nach dem Booten> zu aktivierender Schreibschutz für die RAM-Bereiche, die> als ROM deklariert sind.
Warum sollte man RAM-Bereiche als ROM deklarieren?
Auf den Steckkarten setzt man doch sinnvollerweise EPROMs ein. Die sind
in zeitgenössischen Preislisten immer billiger als äquivalente
RAM-Bausteine und ersparen einem das Bootstrap-Problem.
In einem FPGA muss man das ebenfalls nicht machen, da man Blockram ohne
Write-Enable, aber dafür mit einer fertigen Initialisierung verschalten
kann.
Nach nunmehr ~fünf Jahren Getrolle b
Josef G. schrieb:> Falls es irgendwann die CPU als Einzelbaustein geben sollte,
Warum sollte man so etwas tun? Mal eine Kosten-Nutzen-Rechnung gemacht?
Weisst du was so eine Entwicklung bei den üblichen Verdächtigen kostet?
>> Konkret könnte man das realisieren mittels Antifuse-FPGA> von Actel/Microsemi, eingebaut in ein PLCC44-Leergehäuse.>> Wäre das nicht ein interessantes Projekt> für Leute mit entspechenden Möglichkeiten?
Nein.
Abgesehen davon, dass man dir deinen VHDL-Code um die Ohren hauen würde,
geschweige denn validieren wollte, macht dein Konzept einfach - auch
nach >500fachem Aufwecken des Threads - keinen Sinn für den Hobbymarkt,
geschweige für die Industrie. Und die Aufmerksamkeit, die du mit allen
Mitteln (nun auch der Murkserei bzgl Lizenzen) zu erheischen versuchst,
weist eine schwer negative Bilanz auf. Aber wenn's nur darum gehen soll,
den Thread nach oben zu kriegen und Trolle anzuziehen, hat sich wohl
mein Verdacht bestätigt.
S. R. schrieb:> Du willst einen FPGA-Wafer selbst in ein Gehäuse einbauen
Nein, ich meinte den kompletten FPGA-Baustein samt Gehäuse.
Für die CPU allein reicht vielleicht ein "kleines" FPGA.
> dann müssen RAM und ROM irgendwo liegen.> Eine Steckkarte wäre zeitgemäß und angemessen.
Ok, das wäre dann eine spezielle Speicher-Karte auf der
Hauptplatine. Aber die 8 peripheren Steckkarten sollten
keinen eigenen Speicher enthalten, das wollte ich sagen.
> andererseits lässt sich fehlende Peripherie> bereits im FPGA gleich mit synthetisieren.
Hat den Nachteil, dass der Anwender des fertigen Computers
entweder selber eine komplette Software wie Vivado oder Quartus
zu Verfügung haben muss, oder jedesmal ein neues Bitfile vom
Hersteller beziehen muss, wenn er die Auswahl seiner Steckkarten
ändern will. Und es entfiele die Möglichkeit für unabhängige
Anbieter, Steckkarten bereitzustellen.
> Du willst also den Datenbus ZWEIMAL herausführen,> einmal lesend und einmal schreibend?
Nein, nur lesend. Der IO-Befehl H.. nutzt den Datenbus
ausschließlich zum lesen. Als Ausgabe-Daten dienen die oberen
8 Bit des Adressbus. Die unteren 8 Bit dienen als Kommando.
> So viele Pins hat ein PLCC44 doch garnicht zur freien Verfügung?
Das PLCC44 habe ich weiter oben angesprochen als Möglichkeit für
die CPU allein. In diesem Beitrag zum Gesamtsystem bin ich davon
ausgegangen, dass fast das gesamte System einschließlich CPU
aber ohne die 8 Steckkarten in einem großen FPGA realisiert ist.
Wollte man das Gesamtsystem mittels dieser PLCC44-CPU bauen,
bräuchte man weitere Spezialbausteine um diese CPU herum.
> Du musst jede Karte einzeln aktivieren?
Bisher gibt es ja nur eine Karte. Und aktivieren muss man
sie nur, wenn man die erweiterte Version verwenden will.
> Warum sollte man RAM-Bereiche als ROM deklarieren?
Damit man bei Software-Fehlern nicht die ROM-Bereiche
überschreiben kann. Bei einem Hängen des Rechners reicht
dann ein Reset ohne neues Booten der ROM-Bereiche.
> Auf den Steckkarten setzt man doch sinnvollerweise EPROMs ein.
Hat halt den Nachteil, dass die Software schwer zu ändern ist.
Aber gut, man könnte auch EPROMs verwenden, dann
bräuchte man am Steckplatz noch einen Anschluss RD.
> In einem FPGA muss man das ebenfalls nicht machen, da man> Blockram ohne Write-Enable, aber dafür mit einer fertigen> Initialisierung verschalten kann.
Es werden 32-KByte Blockram für die Videoausgabe gebraucht
(zwei Seiten zu je 16-KByte). Für die Hauptplatinen-Software
braucht man nochmal einen 32-KByte-Bereich. Bei den bisherigen
Realsierungen hat das Block-RAM nicht für beides gereicht und
die Hauptlatinen-Software wird ins externe RAM ausgelagert.
(Ausser beim DE1, da wird als Video-RAM das externe SRAM
verwendet, und das Auslagern der Software erfolgt weil das
Block-RAM nur 24-KByte groß ist und die Software erst
auseinandergezogen werden muss um lauffähig zu sein.)
Aus aktuellem Anlass:
Ich bin es nicht allein, der den Thread gelegentlich nach
oben holt. Der Thread scheint zumindest unterhaltsam zu sein.
Und es muss ihn ja niemand anklicken.
Oder hat da jemand Angst, aus dem Projekt könnte
doch noch etwas werden und er könnte etwas verpassen?
Josef G. schrieb:> Ich bin es nicht allein, der den Thread gelegentlich nach> oben holt. Der Thread scheint zumindest unterhaltsam zu sein.
Man ergötzt sich an Deiner Sturheit, Einfalt, Ignoranz.
Nachdem die Phase ernsthaften Glaubens an eine mögliche konstruktive
Auseinandersetzung mit Deinem Projekt erfolgreich überwunden wurde.
DreamerOfTheWolkenkuckucksheim schrieb:> Der Thread scheint zumindest unterhaltsam zu sein.
Oh ja, das kann ich nur bestätigen :-)
Eine Naturkatastrophe in Aktion zu sehen ist aber auch unterhaltsam wenn
man einen kompfortablen Abstand dazu hat.
Andreas S. schrieb:> Wer will heutzutage noch in ein Projekt einsteigen, dessen> Entwicklungsumgebung nicht mehr unter der aktuellen Windows-> Version lauffähig ist, zumindest nicht ohne wilde Tricks?
Es gibt ja auch die Realisierung auf dem DE0-nano,
da ist ein Cyclone IV drauf. Man muss halt ein wenig
Hardware basteln. Wobei man die 7-Segment-Anzeigen
weglassen kann, man braucht sie nicht unbedingt.
Vielleicht könnte man bei der VGA-Schnittstelle die
Widerstände in den Farbsignal-Leitungen größer wählen
als von mir vorgeschlagen. Das Bild wäre dann dunkler.
Vielleicht würde dann die Stromversorgung über USB
ausreichen und man bräuchte kein 5.4-V-Netzgerät.
Ein Problem ist, dass man eine PS/2-Tastatur braucht,
die mit 3.3-V Versorgungs-Spannung auskommt. Wenn
man die Tastatur mit 5-V versorgt, müsste man noch
die Eingangs-Signalpegel auf 3.3-V begrenzen.
Beitrag "Re: 8bit-Computing mit FPGA"
Josef G. schrieb:> Habe mal gesucht nach Beiträgen ...>> Tja ...
Nochmal einige Beiträge angeschaut.
Hatte vorher nur die falschen gefunden.
Vielleicht war mein "Tja" zu pessimistisch.
Josef G. schrieb:> Vielleicht könnte man bei der VGA-Schnittstelle die> Widerstände in den Farbsignal-Leitungen größer wählen> als von mir vorgeschlagen. Das Bild wäre dann dunkler.
Wie wäre es mit HDMI und 8 Bit pro Farbe?
> Ein Problem ist, dass man eine PS/2-Tastatur braucht,> die mit 3.3-V Versorgungs-Spannung auskommt. Wenn> man die Tastatur mit 5-V versorgt, müsste man noch> die Eingangs-Signalpegel auf 3.3-V begrenzen.
Da sollten vier Widerstände ausreichen. Aber zukunftssicher wäre eher
eine USB-Schnittstelle. Wie lange brauchst Du schäzungsweise, bis der
USB-Treiber in bo8-Assembler läuft?
Bernd schrieb:> Wie wäre es mit HDMI und 8 Bit pro Farbe?> ...> Wie lange brauchst Du schäzungsweise,> bis der USB-Treiber in bo8-Assembler läuft?
Ist mir durchaus bewusst, dass das nicht machbar ist.
Josef G. schrieb:> Bernd schrieb:> Wie wäre es mit HDMI und 8 Bit pro Farbe?> ...> Wie lange brauchst Du schäzungsweise,> bis der USB-Treiber in bo8-Assembler läuft?>> Ist mir durchaus bewusst, dass das nicht machbar ist.
Besser noch Dir wär bewusst, daß mit Deinem Teil überhaupt *nichts
sinnvolles* machbar ist weil es in jedem Fall billigeren und kleineren
und leistungsfähigeren und komfortableren Ersatz gibt. Immerhin taugt
Dein Projekt als Endlos- Diskussions-Vehikel, aber nur weil dabei
zwangsweise ganz andere Dinge in den Fokus der Leute geraten. Schon
bemerkt?
Maik schrieb:> Besser noch Dir wär bewusst, daß mit Deinem Teil überhaupt *nichts> sinnvolles* machbar ist weil es in jedem Fall billigeren und kleineren> und leistungsfähigeren und komfortableren Ersatz gibt.
Vielleicht ist es gut etwas zu haben wo kein Patent drauf ist ...
Sepp schrieb:> Vielleicht ist es gut etwas zu haben wo kein Patent drauf ist ...
Und jeden Morgen steht einer auf, der sich den Code noch nicht
angeschaut hat...
Bernd schrieb:> Sepp schrieb:>> Vielleicht ist es gut etwas zu haben wo kein Patent drauf ist ...> Und jeden Morgen steht einer auf, der sich den Code noch nicht> angeschaut hat...
und einer, der unnötig meckert und negativ kommentiert. Brauchen wir das
?
Edi M. schrieb:> und einer, der unnötig meckert und negativ kommentiert.
Unnötig?
Gehts hier um konstruktive Rückmeldung oder realitätsferne Lobhudelei?
Oder gehts gar nur um pure Selbstdarstellung von jemandem, der sein
Projekt permanent im Blick sehen möchte?
> Brauchen wir das?
Wir nicht. Aber Josef. Und ich fürchte es war immer noch nicht genug.
Viele Studenten haben mit dem bo8 bereits erfolgreich experimentiert und
sicherlich auch einige Forumsteilnehmer. Das sich (in diesem Thread)
wenige zu Wort melden hat nichts zu bedeuten. Ist eben leider wie bei
den negativen Amazon Bewertungen.
Für Wissbegierige ist der bo8 wie ein 6000er für den Bergsteiger.
Josef G. schrieb:> Nicht W. schrieb:>> Für Wissbegierige ist der bo8 wie ein 6000er für den Bergsteiger.>> Vielleicht schreibt ja mal jemand eine verbesserte Dokumentation.
Prima wäre hierzu eine Dokumentation in Latex bei vorgegebener
Kapitelstruktur, in der jeder der möchte mitwirken kann.
Nicht W. schrieb:> Dokumentation in LatexS. R. schrieb:> Du kannst ja ein Wiki aufsetzen...
Latex, Wiki, ...
Das sind alles Dinge, von denen ich nichts verstehe.
Das kann gerne jemand machen, durch die CC-Lizenz habe ich alles
mehr oder weniger freigegeben. Es braucht auch niemand denken,
es wäre mir nicht recht, wenn jemand das macht. Im Gegenteil.
Wenn sich nun tatsächlich abzeichnen sollte, dass Interesse am
bo8/bo8h-Projekt besteht, würde ich vor allem noch versuchen,
von der Software der Hauptplatine einen Assembler-Quelltext
zu erstellen, den habe ich bisher nur handschriftlich.
Ich habe vor längerer Zeit mal damit angefangen, die Software
mit dem Disassembler zu disassemblieren, das Ergebnis händisch
nachzubearbeiten und mit dem Assembler wieder zu assemblieren.
Es kam tatsächlich wieder der ursprüngliche Code heraus.
Das für die gesamte Software der Hauptplatine zu machen,
wäre noch viel Arbeit, und ich würde das nur tun, wenn
tatsächlich Interesse daran besteht.
Aber vielleicht habe ich ja was missverstanden, und
das Interesse beschränkt sich nur auf die CPU allein.
Josef G. schrieb:> Wenn sich nun tatsächlich abzeichnen sollte, dass Interesse am> bo8/bo8h-Projekt besteht,
Bei solchen Beobachtungen kann man sich wirklich nur noch an den Kopf
fassen. Aber das ist einfach der Stoff der den Thread am Leben hält. Ab
und zu noch jemand der Mut macht und die Motivation reicht wieder für
die nächsten Hundert Beiträge :)
Josef G. schrieb:> Das sind alles Dinge, von denen ich nichts verstehe.
Du scheinst da ja eine echte Inselbegabung zu haben. Anscheinend
verstehst du vom bo8 alles, aber von allem anderen nichts. Wie findest
du dich nur im Leben zurecht?
Josef G. schrieb:> Wenn sich nun tatsächlich abzeichnen sollte, dass Interesse am> bo8/bo8h-Projekt besteht, würde ich vor allem noch versuchen,> von der Software der Hauptplatine einen Assembler-Quelltext> zu erstellen, den habe ich bisher nur handschriftlich.
Das gehört eigentlich dazu, aber da ich - zugegeben - da nicht weiter
reingeschaut habe...
Josef G. schrieb:> Ich habe vor längerer Zeit mal damit angefangen, die Software> mit dem Disassembler zu disassemblieren, das Ergebnis händisch> nachzubearbeiten und mit dem Assembler wieder zu assemblieren.> Es kam tatsächlich wieder der ursprüngliche Code heraus.
Das hätte ich von einem Disassembler/Assembler eigentlich auch ohne
händische Nachbearbeitung erwartet...
Josef G. schrieb:> Aber vielleicht habe ich ja was missverstanden, und> das Interesse beschränkt sich nur auf die CPU allein.
Sagen wir mal so...
Dein Steckkartenkonzept ist nichts neues. Sowas wird seit Jahrzehnten
gemacht und ist inzwischen auch von der Grundidee vollständig veraltet.
Es gibt keinen Grund, sowas von Grund auf neu hochzuziehen.
Dein Ansatz unterscheidet sich grundsätzlich nicht von vorhandenen
Systemen, ist aber inkompatibel zu allem, was es gibt oder je gab. Das
heißt "viel Arbeit" für "kein Nutzen".
Ich habe sowas mit einem Z80 gemacht und festgestellt, dass außer mir
nie jemand Steckkarten bauen wird. Und da ich das auch nie tun werde,
wird es nie Steckkarten geben. Als Konsequenz habe ich ISA-Slots
angebaut, denn damit kann ich vorhandene Hardware benutzen.
Daher mein Vorschlag: Mach dein Bussystem zu irgendwas kompatibel.
Sinnvoll wäre ISA, meinetwegen auch S100 oder PCI. Damit reduzierst du
viel nutzlosen Aufwand.
Im Gegensatz zum Restsystem ist deine CPU tatsächlich etwas besonderes.
Sie ist zu nichts kompatibel, macht alles anders, ist schwer zu
verstehen und noch viel schwerer zu programmieren, unverständlich
dokumentiert - also eigentlich ein großer brauner Haufen.
Aber sie ist neu, und das zeichnet sie aus. Es wäre an dir, die
Grundlagen zu schaffen, dass man damit was sinnvolles machen kann. Es
ist dein Projekt, es ist deine Aufgabe, zu liefern.
Niemand wird sich ohne Gegenleistung viele Wochen in ein System
einarbeiten. Ob die Gegenleistung nun ein paar Uni-Punkte sind (wie der
genannte Spartan6-Port) oder ein System, mit dem man was tun will, oder
auch nur die Freude am Lernen, ist egal. Es muss aber für irgendwas
ansprechend sein, und das ist es bisher nicht.
Ich habe bisher nicht das Gefühl, dass du aktuell am Projekt
weiterarbeitest oder auch nur ein Interesse dafür zeigst. Wenn du als
Projekteigentümer den Code veröffentlichst und dann das Projekt
verlässt, dann ist das Projekt effektiv tot.
Du hast keine Kunden, die ein Interesse haben, das Projekt auf eigene
Kosten zu betreiben. Es ist deine Spielwiese, und du bist bisher nicht
besonders erfolgreich darin, es irgendwie schmackhaft zu machen. Auch
nicht für deine Wunschzielgruppe.
Ich frage mich, was die Motivation jener Leute ist,
die nun sogar den User Nicht W. negativ bewerten.
Da müssen einige Leute ja wirklich große Angst haben,
dass aus dem Projekt doch noch etwas werden könnte.
Im Grunde versündigt sich jeder an Josefs Lebenszeit die er weiter in
diesem nutzlosen Projekt versenken wird wenn er sich positiv darin
bestärkt sieht. Das endlich zu beerdigen ist schwer genug, gerade bei
soviel Herzblut, Zeit und Einsatz die da drin stecken. Wer hier
tatsächlich Positives bewirken möchte ebnet besser den Weg zu etwas
Sinnvollem!
S. R. schrieb:> Das hätte ich von einem Disassembler/Assembler eigentlich> auch ohne händische Nachbearbeitung erwartet...
Der Disassembler gibt immer Absolut-Adressen aus.
Der Assembler erwartet an manchen Stellen Labels
oder Relativ-Werte aus 1 oder 2 Byte.
Der einfachste händische Eingriff ist, die Absolut-Adressen
durch einen vorangestellten Buchstaben in ein Label zu ver-
wandeln und dieses auch an die Zielzeile zu schreiben, wo
bereits der Disassembler die Adresse hingeschrieben hat.
malsehen schrieb:> während Josef> was vorzuzeigen hat!
Ich denke er sollte damit bei Elektronik-Firmen vorsprechen.
Vielleicht übernimmt ein großer Controller-Hersteller sein Design und
für Josef sollte dann eine entsprechende Position im Unternehmen drin
sein. Manche Welt-Marken sind so entstanden!
Nicht W. schrieb:> Sehr guter Einwand! Nur sollte man da aufpassen welche Rechte> bereits vergeben wurden.
Da müsste er sich mal umfassend beraten lassen und sich ggf. eigene
Markennamen beim Patentamt schützen lassen!
Ein erfolgreicher Start am Markt will heutzutage gut vorbereitet sein!
Josef G. schrieb:> Der einfachste ... Eingriff ist, die Absolut-Adressen durch> einen vorangestellten Buchstaben in ein Label zu verwandeln
Einen Buchstaben und einen "." (Bindestrich auf Grundlinie).
Josef G. schrieb:> Josef G. schrieb:> Der einfachste ... Eingriff ist, die Absolut-Adressen durch> einen vorangestellten Buchstaben in ein Label zu verwandeln>> Einen Buchstaben und einen "." (Bindestrich auf Grundlinie).
Nein
Josef G. schrieb:> Josef G. schrieb:> Der einfachste ... Eingriff ist, die Absolut-Adressen durch> einen vorangestellten Buchstaben in ein Label zu verwandeln>> Einen Buchstaben und einen "." (Bindestrich auf Grundlinie).
Eher umgekehrt. Den Punkt davor hast Du auch vergessen. Erst mit
Unterstrich verbunden ergibt beides dann wirklich einen Sinn! Sonst
kommt es nur unnötig zu Missverständnissen.
Josef G. schrieb:>> Ich habe sowas mit einem Z80 gemacht> Wie groß war der Adressraum für die Karten-Software?
Was verstehst du unter "Karten-Software"?
Auf den Karten selbst lief überhaupt keine Software.
Ein Z80 hat immer einen 64 KB-Adressraum.
Josef G. schrieb:>> Das hätte ich von einem Disassembler/Assembler eigentlich>> auch ohne händische Nachbearbeitung erwartet...>> Der Disassembler gibt immer Absolut-Adressen aus.> Der Assembler erwartet an manchen Stellen Labels> oder Relativ-Werte aus 1 oder 2 Byte.
Dann solltest du das ändern. Ein Disassembler sollte immer in der Lage
sein, eine assemblierbare Ausgabe zu erzeugen.
S. R. schrieb:> Was verstehst du unter "Karten-Software"?> Auf den Karten selbst lief überhaupt keine Software.> ...> Ein Z80 hat immer einen 64 KB-Adressraum.
Bei meinem Steckkarten-Konzept bestehen die Karten aus
Spezial-Hardware (zB. IO-Hardware) und mitgebrachter
Software ("Treiber" oder andere Software). Für jede
Steckkarte allein stehen volle 64-KByte Adressraum zur
Verfügung, dazu IO-Adressraum. Nach der weiter oben
angesprochenen Umdisposition befürworte ich aber nicht
mehr, dass die 64-KByte Karten-Speicher physikalisch
auf der Karte selber liegen, sondern als reservierter
Bereich auf der Hauptplatine liegen.
S. R. schrieb:> Dein Steckkartenkonzept ist nichts neues. Sowas wird> seit Jahrzehnten gemacht und ist inzwischen auch von> der Grundidee vollständig veraltet.> ...> Ich habe sowas mit einem Z80 gemacht
Ist offenbar doch bei mir anders und vielleicht neu.
---
S. R. schrieb:> Dann solltest du das ändern.> Ein Disassembler sollte immer in der Lage> sein, eine assemblierbare Ausgabe zu erzeugen.
Die händische Nachbearbeitung habe ich bereits teilweise
in ein C-Programm verlagert, das könnte man noch ausbauen.
(Der Disassembler läuft auf dem PC, nicht auf dem 8bit-System.)
Josef G., wenn ich bei dir längerfristig vor meiner Frau untertauchen
kann (5€ Essen/Tag + Dusch-/Schlafmöglichkeit), arbeite ich gerne als
Gegenleistung Vollzeit am bo8-Projekt.
Falls du einen Lebenslauf benötigst, gib Bescheid!
Ich glaube das NES hat immer nur einen Teil des ROM-Moduls in den
Adressbereich gemapped, und dann über Register-Schrieb immer einen
anderen Teil des ROM ausgewählt der eingeblendet werden soll.
Josef G. schrieb:> Kann ich beides leider nicht bieten.
Ein bischen Einsatz wirst Du wohl bringen müssen wenns mit dem Bo8
Siegeszug über die Welt noch was werden soll.
Josef G. schrieb:> Bei meinem Steckkarten-Konzept bestehen die Karten aus> Spezial-Hardware (zB. IO-Hardware) und mitgebrachter> Software ("Treiber" oder andere Software).
Wieviele Steckkarten gibt es, wie gut funktionieren sie, und welche
Vorteile hast du in der Realität von deinem Konzept?
Das Konzept eines "Option ROM" gibt es übrigens auch bei ISA-Karten.
Dies ermöglicht es, z.B. SCSI- oder Netzwerkkarten zu benutzen, obwohl
das BIOS dafür keine Treiber hat.
> Für jede Steckkarte allein stehen volle 64-KByte> Adressraum zur Verfügung, dazu IO-Adressraum.
Meine Steckkarten haben das nicht, denn ich habe festgestellt, dass es
in der Realität keinen Vorteil bringt.
Grafikkarten (im Grafikmodus) brauchen weit mehr als 64 KB, dafür ist
dein Konzept ungeeignet. Im Textmodus reichen auch 4 KB.
Netzwerkkarten benötigen einen, maximal zwei Paketpuffer, also etwa 3
KB. Sinnvollerweise nutzen sie aber DMA in den Systemspeicher und
brauchen daher keinen eigenen Speicher.
Massenspeicher (IDE, SCSI, SD) nutzen 512 Byte-Sektoren. Mit 1 KB hat
man sowohl einen Schreib- als auch einen Lesepuffer. Auch hier ist DMA
die bessere Lösung als ein großer Puffer. Für Flash-Speicher ist die
Erase-Größe sinnvoll. Diese liegt oft bei 4 MB oder mehr, dafür ist dein
Konzept ungeeignet.
Wenn du einen ISA-Bus implementieren würdest, hättest du einen externen
20 Bit-Adressraum, den du beliebig auf die Karten verteilen kannst. Die
meisten Karten brauchen nicht mehr als ein oder zwei Blöcke.
> Nach der weiter oben angesprochenen Umdisposition> befürworte ich aber nicht mehr, dass die 64-KByte> Karten-Speicher physikalisch auf der Karte selber> liegen, sondern als reservierter> Bereich auf der Hauptplatine liegen.
Warum sollten auf der Hauptplatine getrennte Speicher für jede
Steckkarte bereitgestellt werden, unabhängig davon, ob eine Steckkarte
vorhanden ist oder nicht? Das empfinde ich als Verschwendung.
Im Übrigen behinderst du damit Steckkarten, die mehr als 64 KB benutzen
möchten und dafür Banking selbst implementieren.
> S. R. schrieb:> Die händische Nachbearbeitung habe ich bereits teilweise> in ein C-Programm verlagert, das könnte man noch ausbauen.
Du solltest lieber die Grundprogramme reparieren, als Zusatzprogramme zu
entwickeln. Es sollte doch nicht schwer sein, den Assembler auch
relative Angaben verstehen zu lassen?
> (Der Disassembler läuft auf dem PC, nicht auf dem 8bit-System.)
Dass dein System nicht selbstständig ist, wissen wir bereits.
S. R. schrieb:> Es sollte doch nicht schwer sein, den Assembler> auch relative Angaben verstehen zu lassen?
Das tut er ja.
Josef G. schrieb:> Der Disassembler gibt immer Absolut-Adressen aus.> Der Assembler erwartet an manchen Stellen Labels> oder Relativ-Werte aus 1 oder 2 Byte.
Josef G. schrieb:>> Es sollte doch nicht schwer sein, den Assembler>> auch relative Angaben verstehen zu lassen?> Das tut er ja.
...und den Disassembler relative Angaben ausgeben zu lassen?
Josef G. schrieb:> Vielleicht schreibt ja mal jemand eine verbesserte Dokumentation.
Du machst wohl Witze?
Josef G. schrieb:> Das sind alles Dinge, von denen ich nichts verstehe.
Dann setz dich auf deinen Hintern und wirf dein Gehirn an, bevor es
total eingerostet ist…
Leider funktioniert IT nicht so, dass man sich für ewig auf irgend
welchen Lorbeeren ausruhen könnte, die man Jahrzehnte vor der
einsetzenden Demenz mal erworben hat.
> Aber vielleicht habe ich ja was missverstanden, und> das Interesse beschränkt sich nur auf die CPU allein.
Ich fürchte, du hast noch viel mehr missverstanden.
Uhu U. schrieb:> Leider funktioniert IT nicht so, dass man sich für ewig auf irgend> welchen Lorbeeren ausruhen könnte, die man Jahrzehnte vor der> einsetzenden Demenz mal erworben hat.
Die letzte größere Verbesserung liegt noch nicht so lange zurück:
Josef G. schrieb:> Josef G. schrieb:>> Als Alternative habe ich mir folgende Lösung überlegt:>> H.. gibt nach dem Einlesen des folgenden Opcodes in jedem Fall>> statt BN ein BP aus. Zusätzlich wird auch nach HA stets ein BP>> statt BN ausgegeben. Falls also auf H.. kein J.. folgt, hebt>> das zweite BP die page-Umschaltung des ersten BP wieder auf.>> Habe das jetzt so umgesetzt. Das Einlesen von> Read-Daten erfolgt jetzt erst zum Zeitpunkt 2.
Josef G. schrieb:> Glaubst du, dass das folgende frei erfunden ist?>> Nicht W. schrieb:>> sieht unser Prof ähnlich, weshalb zum bo8 ein Laborversuch existiert.>> Nicht W. schrieb:>> Viele Studenten haben mit dem bo8 bereits erfolgreich experimentiert
Erstunken und erlogen. Ein Zuckerl für den Threadinhaber damit der nicht
die Motivation verliert :)
Josef G. schrieb:> Glaubst du, dass das folgende frei erfunden ist?
Ja. Das mag bitter für dich sein, aber der Typ verascht dich ganz
offensichtlich - in einem gelöschten Beitrag von ihm stand ein Link auf
Github, der mit deinem Ding absolut überhaupt nichts zu tun hatte.
Aber frag Lothar, der kann dir den Beitrag sicherlich zukommen lassen.
Uhu U. schrieb:> in einem gelöschten Beitrag von ihm
Nein, der gelöschte Beitrag stammte von einem anderen
(nicht angemeldeten) User. Ich dachte auch erst,
es handele sich um den User "nichtsowichtig".
Route 6. schrieb:> Nein zwei mal 64 kB Adressräume:> einen für Speicherzugriffe und einen für I/O-Zugriffe.
Soweit ich mich erinnere war das immer eine Schwäche des Z80 eben nur
256 Adressen für I/O zu haben. (0-255)
Stephan schrieb:> Soweit ich mich erinnere war das immer eine Schwäche des Z80 eben nur> 256 Adressen für I/O zu haben. (0-255)
Soweit ich mich erinnere, waren lediglich die gängigen Adressdecoder für
Z80-I/O meist auf 8 Bit beschränkt. Das ist aber keine Schwäche des Z80,
sondern einfach nur Sparsamkeit der Hersteller, die irgendwelche
Peripherie an den Z80 angebunden haben.
Mit IN r,(C) bzw. OUT (C),r hat der Z80 schon immer 16 Bit auf den
Adressbus gelegt, nämlich das Registerpaar BC.
Auszug aus dem ZILOG Z80 Manual:
"In all Register Indirect input output instructions, including block I/O
transfers, the contents of the C Register are transferred to the lower
half of the address bus (device address) while the contents of Register
B are transferred to the upper half of the address bus."
Der ZX81 und der ZX Spectrum haben dieses Feature durchaus genutzt,
nämlich fürs Keyboard. Auch der Amstrad CPC verwendete 16 Bit I/O. Ich
habe damals auch schon externe Geräte für den ZX Spectrum gebaut, welche
die vollen 16 Bit Adressraum dekodierten.
P.S.
Die Verwendung/Dekodierung von 16 Bit I/O auf dem Z80 hat lediglich
einen kleinen Nachteil: Man verbaut sich hier die Verwendung von
Block-IO auf solchen Adressen, denn das Register B wird bei Block-IO als
Repeat-Counter für den Block verwendet.
Stephan schrieb:> Soweit ich mich erinnere war das immer eine Schwäche des Z80 eben nur> 256 Adressen für I/O zu haben. (0-255)
Das ist ein Irrtum.
Bei jedem(!) I/O-Zugriff waren alle 16 Adressbits definiert gesetzt.
Bei einem einfachen OUT 86h,A findet man auf A0-7 die Adresse 86h, der
Akku liegt auf dem Datenbus aber A8-15 geben den Akku ebenfalls aus.
Bei OUT (C),A wird C auf A0-7 gelegt, A auf den Datenbus und(!) B kommt
auf die Adressen A8-15.
So kann man über das BC-Register volle 64 kB direkt adressieren.
Sorry, zu lange kontrollgelesen
Stephan schrieb:> Soweit ich mich erinnere war das immer eine Schwäche des Z80> eben nur 256 Adressen für I/O zu haben. (0-255)
Das gilt für den 8080 und damit für dessen Peripherie. Entsprechend
wurden viele Systeme auch nur dafür ausgelegt. Da man oft nur wenige
I/O-Ports braucht, stört das nicht weiter und vereinfacht die
Leiterplatten.
Daher nochmal als Nachtrag:
Route 6. schrieb:>> Ein Z80 hat immer einen 64 KB-Adressraum.>> Nein zwei mal 64 kB Adressräume:> einen für Speicherzugriffe und einen für I/O-Zugriffe.
In meinem Z80-System werden beide 64 KB-Adressräume für Steckkarten
bereitgestellt. Der Speicheradressraum für die Speicherkarte, der
I/O-Adressraum je nach Slot aufgeteilt (32 x 256 Ports pro Karte). Die
Adressen werden ebenso wie die (Vektor-)Interrupts zentral auf dem
Mainboard decodiert.
S. R. schrieb:> In meinem Z80-System
Da du es jetzt schon mehrfach erwähnt hast:
Ist das Projekt Geschichte oder noch aktuell?
Hast du das Projekt in einem eigenen Thread
oder einem Wiki-Artikel vorgestellt?
Josef G. schrieb:> Ist das Projekt Geschichte oder noch aktuell?
Das Projekt lag ein paar Jahre im Schrank, aber ich habe vor ein paar
Wochen eine Steckkarte mit zwei ISA-Slots gebaut. Leider ist die
FDC-Karte, die ich eigentlich haben wollte, kaputt (funktioniert auch im
PC nicht).
Die COM/LPT-Karte braucht ±12V (für UART), also habe ich ein passendes
Netzteil bestellt, aber noch nicht eingebaut. Stattdessen habe ich den
gesamten Code (sowohl die AVR-Firmware als auch das CP/M BIOS) einmal
neu umgebaut, aber an der Steckkarte nicht weiter entwickelt.
Bei der Arbeit daran habe ich aber gemerkt, dass das ursprüngliche
Konzept (also ein Mainboard mit Erweiterungskarten nach eigenem
Standard) heutzutage nicht mehr sinnvoll ist. Das betrifft auch dein
System und daher mein Ratschlag: Mach es neu, und diesmal ordentlich.
Ich werde irgendwann eine Neuentwicklung machen, auf Basis eines
TMPZ84C015, 256 KB Flash, 512 KB SRAM und ISA-Slots. Das erspart mir
viel Arbeit und bringt mir mehr Freude.
Josef G. schrieb:> Hast du das Projekt in einem eigenen Thread> oder einem Wiki-Artikel vorgestellt?
Schaltplan und Bilder gibt es hier, die Grundidee im ersten Post:
Beitrag "Re: eigenes Z80 Mainboard - geht das so?"
S. R. schrieb:> und daher mein Ratschlag: Mach es neu, und diesmal ordentlich
Was stellst Du Dir unter konkret "ordentlich" vor?
Meinst Du irgendwas könnte Josefs proprietär eigenwilliges System
retten?
> irgendwann eine Neuentwicklung machen> bringt mir mehr Freude
Ja, die Freude am Entwickeln und Funktionieren.
Aber aus purer Anwendungssicht sind das heutzutage allesamt
Fehlkonstruktionen. Schlimmer noch, von letztendlichen konkreten
Anwendungen ist noch nichtmal die Rede und vermutlich besteht zwischen
beidem sogar ein Zusammenhang!
S. R. schrieb:> Jeff schrieb:> Aber aus purer Anwendungssicht sind das> heutzutage allesamt Fehlkonstruktionen.>> Das Leben auch.
Das muss man nicht pessimistisch sehen.
Freude am Entwickeln und Funktionieren darf durchaus das Entscheidende
sein. Nur darf man eben nicht erwarten, daß sich mit dem puren
Funktionieren allein, und sei es noch so komplex, automatisch passende
Anwendungen und Anwender finden!
Mit der von hinten, von der Anwenderseite her denkenden Sichtweise tun
sich Programmierer und Systementwickler generell schwer. Viel lieber
beschäftigen und erfreuen sie sich mit/an ihren technischen
Möglichkeiten und tollen, eleganten Umsetzungen. Den bequemen Anwender
im Fokus zu haben ist oft viel anstrengender, umständlicher,
aufwändiger. Dummerweise sind jedoch Projekte so kommerziell am
erfolgreichsten :)
Mr.Sam schrieb:> Viel lieber> beschäftigen und erfreuen sie sich mit/an ihren technischen> Möglichkeiten und tollen, eleganten Umsetzungen.
Wenn Josef wenigstens was tolles, elegantes geschaffen hätte. Leider hat
er sein Projekt eher nach der "von hinten durch die Brust ins
Auge"-Methode gestaltet und sich nie gefragt warum die Entwickler von
6502, Z80 und aller anderen 8-Bit-Prozessoren nie ein ähnliches Konzept
verfolgt haben wie er.
Wer will denn ernsthaft den Z80 als elegant bezeichnen?
Aus heutiger Sicht muss man sagen: für die Logik die ein Z80 braucht
bekommt man problemlos einen 32 Bit RISC im FPGA implementiert.
Bei einem Bruchteil an nötigem Code.
Mit deutlich höherer IPC.
Einer der wenigen Vorteile, die geringe Codegröße, ist aus heutiger
Sicht nicht mehr soviel Wert und macht es auch nicht elegant.
Die Mächtigkeit der Assembler Befehle schon garnicht, so will eh kaum
jemand programmieren.
Elegant ist für mich ein vollständige RISC mit weniger als 20 Opcodes
übersichtlich auf unter 1000 Zeilen Code, dem aber trotzdem nichts fehlt
um ein vollständiges System aus Betriebssystem und Anwendungsprogrammen
laufen zu lassen.
FPGA zum Spass schrieb im Beitrag #5954514:
> Aus heutiger Sicht muss man sagen: für die Logik die ein Z80 braucht> bekommt man problemlos einen 32 Bit RISC im FPGA implementiert.> Bei einem Bruchteil an nötigem Code.> Mit deutlich höherer IPC.
Schwachsinn!
FPGA zum Spass schrieb im Beitrag #5954514:
> Elegant ist für mich ein vollständige RISC mit weniger als 20 Opcodes> übersichtlich auf unter 1000 Zeilen Code, dem aber trotzdem nichts fehlt> um ein vollständiges System aus Betriebssystem und Anwendungsprogrammen> laufen zu lassen.
Elegant ist für mich ein vollständige RISC mit weniger als 20 Opcodes
übersichtlich auf unter 42 Zeilen Code, dem aber trotzdem nichts fehlt,
um ein vollständiges System aus Betriebssystem und Anwendungsprogrammen
laufen zu lassen.
Klaus Banaus schrieb:> Schwachsinn!
Meine Z80 Implementierung steht bei 5000 LUTs @ 100 Mhz.
Der A-Z80 auf Opencores bei 2000 Luts, schafft aber nur 18 Mhz
Der T80 bei ~3000 Luts und 35 Mhz
32 Bit RISCs gibts zur Genüge.
Z.b. Nios2 mit 2300 LUTs im gleichen FPGA bei etwa 160 MHz.
Dann bitte, zeig doch mal das es besser geht für den Z80.
@ Andreas S:
natürlich sind die Zahlen aus der Luft gegriffen.
Ändert aber nicht daran, das ich übersichtliche Cores nach dem KISS
Prinzip für eleganter halte als vollgequetsche Prozessoren, denen nicht
mal 256 OPCodes reichen.
Oder lass es mich so ausdrücken: wenn ich einen Z80 funktionsidentisch
nachbaue und einen Tag danach dreiviertel alle OPCodes nachkucken muss,
dann ist das für mich das Gegenteil von elegant.
FPGA zum Spass schrieb im Beitrag #5954723:
> Klaus Banaus schrieb:>> Schwachsinn!>> Meine Z80 Implementierung steht bei 5000 LUTs @ 100 Mhz.> Der A-Z80 auf Opencores bei 2000 Luts, schafft aber nur 18 Mhz> Der T80 bei ~3000 Luts und 35 Mhz>> 32 Bit RISCs gibts zur Genüge.> Z.b. Nios2 mit 2300 LUTs im gleichen FPGA bei etwa 160 MHz.>> Dann bitte, zeig doch mal das es besser geht für den Z80.
Schau, es ist bleibt Schwachsinn die Effizienz der Logik einer CPU
anhand der LoC einer FPGA-Implementierung zu bewerten.
Für eine Z80 (8bit) brauchts ca. 8500 Transistoren; für den Motorola
68000 (32bit) schon das Achtfache. Transistoren waren halt auch
integriert sauteuer damals, ohne Grund greift man nicht zu Spartricks
wie Akkumulatoren. Und die Taktrate wird eben von der
Fertigungstechnologie (damals 5 µm, Transfergates geschaltet von
überlappenden Taktsignalen) bestimmt und nicht von der Logiktiefe.
Ich vergleiche anhand von LUTs im FPGA. Das sind nicht Lines of Code,
sondern Lookup-Tables, das Äquivalent zu deinen Transistoren.
Aber spätestens damit:
Klaus Banaus schrieb:> Und die Taktrate wird eben von der> Fertigungstechnologie (damals 5 µm, Transfergates geschaltet von> überlappenden Taktsignalen) bestimmt und nicht von der Logiktiefe.
beweist du, das du von FPGAs noch nicht viel verstehst.
Mag sein das ein Z80 heute im ASIC schnell wäre, aber darum gehts hier
bei einem FPGA-Softcore Thread wohl eher nicht.
Für ein FPGA ist der halt sehr suboptimal und wird eigentlich nur aus
Kompatiblitätsgründen mit alter Software genutzt.
Also nochmal:
- ein NIOS2(32 Bit) braucht 2300 "Logikgatter" bei 160 Mhz und ~1
Instrutionen pro Takt
- ein Z80 im FPGA braucht mindestens genausoviele "Logikgatter" im FPGA,
eher mehr, erreicht aber nicht die Taktrate und liefert auch nur maximal
0.25 Instruktionen pro Takt
FPGA zum Spass schrieb im Beitrag #5954776:
> Mag sein das ein Z80 heute im ASIC schnell wäre, aber darum gehts hier> bei einem FPGA-Softcore Thread wohl eher nicht.
Doch genau darum geht es!
Schau, man kann eine Architektur nicht losgelöst von der
Herstellungstechnologie betrachten, jedenfalls nicht bei Hardware.
Deshalb ist es Schwachsinn für CPU-Architekturen Softwaremetriken wie
LoC heranzuziehen.
>- ein NIOS2(32 Bit) braucht 2300 "Logikgatter" bei 160 Mhz und ~1>Instrutionen pro Takt
Klar "Logikgatter" in "Gänsefüßchen" gegen 'harte' Transistoren, es soll
ja Leute geben die können sogar Elchen Gamasken verkaufen ...
Und wenn schon Vergleiche dann richtig, 96 LUT für den 8bit
Xilinx-Picoblaze, da sieht dein 32bit NIOS ganz schön fett dagegen aus
und liefert 75% Blindleistung bei 8 bit daten, wenn schon ineffizient
dann aber richtig!
>- ein Z80 im FPGA braucht mindestens genausoviele "Logikgatter" im FPGA,>eher mehr, erreicht aber nicht die Taktrate und liefert auch nur maximal>0.25 Instruktionen pro Takt
Und MC68000 brauchte 4 Takte für ein NOP, das bedingt die verwendete
Technologie damals, aber du Grünschnabel ignorierst das befliesentlich
historische Gegebenheiten nur um vorlaut Birnen mit Äpfel vergleichen zu
können...
FPGA zum Spass schrieb im Beitrag #5954776:
> Ich vergleiche anhand von LUTs im FPGA. Das sind nicht Lines of Code,> sondern Lookup-Tables, das Äquivalent zu deinen Transistoren.
Doch benutz Lines of Code zum Vergleich, ich zitiere:
"Elegant ist für mich ein vollständige RISC mit weniger als 20 Opcodes
übersichtlich auf unter 1000 Zeilen Code,"
Erzähl mir nicht "Es regnet" und pinkele mir dabei ans Knie!
Klaus Banaus schrieb:> Doch benutz Lines of Code zum Vergleich
Blödsinn, alle VERGLEICHE zwischen Z80/NIOS2 von mir oben sind in LUTs.
Du zitierst den einen Satz wo es um etwas völlig anderes geht, nämlich
um Eleganz.
Aber wenn für dich Eleganz und Effizienz das gleiche sind, dann bitte.
Klaus Banaus schrieb:> Schau, man kann eine Architektur nicht losgelöst von der> Herstellungstechnologie betrachten
Genau das tust du doch die ganze Zeit.
Die Technologie hier im Thread heißt FPGA.
FPGAs haben keine harten Transistoren die man direkt programmieren
könnte, sondern nur LUTs.
Für FPGAs eignen sich bestimmte Architekturen besonders gut.
Der Z80 gehört nicht dazu.
Dein Picoblaze Beispiel ist doch der beste Beweis. Das Ding ist ein RISC
mit rund 20 Opcodes. Das hat mit einem Z80 sehr wenig gemeinsam.
Soviel zu Äpfen und Birnen.
Weswegen ich eigentlich hier schreiben wollte habe ich bei dem ganzen
Blödsinn von antiken Prozessoren vergessen:
@ bome:
meine Empfehlung an dich ist: hab Spaß mit deinem Projekt und lerne
davon.
Gerade im FPGA Bereich kann man ohnehin nicht mehr erwarten. Hier gab es
grandiose, riesige Projekte die trotzdem tot sind.
z.b.: https://www.mikrocontroller.net/articles/16/32Bit_Computer/Konsole
Ähnlich geht es fast allen Projekten auf Opencores.
Die wenigen FPGA-Community Projekte die aktiv sind, z.b. Mister, werden
von einer handvoll Leuten aktiv betreut.
Kurz: die FPGA Community ist verdammt klein und zerstreut. Fast immer
kocht jeder ein bischen sein Süppchen und dann stirbt das Projekt.
Das der Thread hier überhaupt noch aktiv ist, liegt wohl fast
ausschlisslich daran wie kontrovers diskutiert wird.
Leider zu einem großen Teil von Leuten die mit FPGAs garnichts am Hut
haben und vor allem die Aufmachung kritisieren.
Wobei man realistisch doch sagen muss: wenn die Aufmachung richtig gut
wäre, dann wäre das Projekt warscheinlich genauso tot.
Vielleicht ist das so eine Maßnahme es am Leben zu halten.
Ich wünsche dir auf jeden Fall noch weiter gutes Gelingen.
FPGA zum Spass schrieb im Beitrag #5954514:
> Wer will denn ernsthaft den Z80 als elegant bezeichnen?
Verglichen mit dem 8080 ist er es…
> Die Mächtigkeit der Assembler Befehle schon garnicht, so will eh> kaum jemand programmieren.
Vor einem RISC-Prozesser muss er sich nicht verstecken…
Ich finde es vermessen, einen aktuellen 32 Bit-Prozessor in einem
aktuellen FPGA mit einem erfolgreichen Design der 70er zu vergleichen.
Den NIOS2 (oder RISC-V) hätte man damals schlicht nicht fertigen können.
Realistisch betrachtet ist der bo8 auf der Ebene eines Z80, nicht auf
der Ebene eines RISC-V.
MaWin schrieb im Beitrag #5954882:
> Wer kann einen guten Schnaps empfehlen der zwar "dicht" macht, aber am> nächsten Tag keine Kopfschmerzen?
Водка Архангелская. Wurde uns in Russland empfohlen und mehrfach für
sehr gut befunden.
Ist es vermessen alte Technik mit Neuer zu vergleichen?
Was soll daran schlimm sein?
Ich will mir auch nicht anmaßen heute oder gar in den 70ern ein besseres
Design machen zu können.
Trotzdem darf ich ja eine Meinung dazu haben.
Und wenn hier der bo8 als unübersichtlich usw kritisiert wird und man
etwas eleganteres zum Vergleich anbietet, dann kommen für mich nicht nur
40 Jahre alte Design als Referenz in Frage, sondern natürlich auch
aktuelle Entwicklungen, wenn die eleganter sind.
Dazu auch von bome selbst:
>> Das von mir erarbeitete Projekt eines 8bit-Rechners soll kein>> Retro-Projekt sein. Der Rechner soll ein moderner Rechner sein.
Was liegt dann näher, als moderne Designs anzusetzen?
Ich bin der Meinung ein 32 Bit RISC mit starren 32 Bit OPCodes und 3
Operanden ist viel leichter zu verstehen und in VHDL für ein FPGA zu
implementieren als z.b. ein Z80.
Ich habe beides durch, ist also keine bloße Theorie.
FPGA zum Spass schrieb im Beitrag #5955071:
> Was liegt dann näher, als moderne Designs anzusetzen?
Unter dem Aspekt gewinnt immer das moderne Design.
In einem 100m-Spring kann man auch einen einigermaßen geübten Läufer mit
einem Dreijährigen vergleichen. Das Ergebnis sollte dann aber niemanden
überraschen... selbst dann nicht, wenn der Läufer im Rollstuhl sitzt.
"Retro" impliziert irgendeine Form von Kompatiblität mit alter Technik,
und bo8 ist definitiv zu nichts kompatibel. Trotzdem ist es eine
Entwicklung, die technisch irgendwo in den 70ern klebt. Vielleicht
leistungsfähiger als ein Z80, umständlicher als ein i8042.
Für einen halbwegs fairen Vergleich sollte man schon mit Gleichwertigem
vergleichen... und das heißt auch, dass nichts davon für
Neuentwicklungen sinnvoll ist - auch bo8 nicht.
Jeff schrieb:> von letztendlichen konkreten> Anwendungen ist noch nichtmal die Rede
Tooootal unbequem und lästig diese Frage! Wen interessiert das hier?
FPGA zum Spass schrieb im Beitrag #5954834:
> Ich wünsche dir auf jeden Fall noch weiter gutes Gelingen.
Nett. Hilft aber alles nix, besser Klartext reden: Das ist alles so
gründlich missraten, der Herr sollte besser (seit gestern) sinnvolleres
mit Zeit und Wissen anstellen.
Spielt doch keine Rolle ob der bo8 leistungsfähiger ist als ein Z80 oder
nicht.
Aus heutiger Sicht ist jeder Softcore lahm im Vergleich zu dem was sonst
so verfügbar ist, auch ein NIOS2 oder RISC-V im FPGA.
Im aller besten Fall erreicht man mit einem Softcore heute die
Geschwindigkeit, die Mitte der 90er für PCs üblich war.
So gesehen müsste eigentlich jeder sofort aufhören etwas in die Richtung
zu entwickeln.
Hier wird das zumindest immer so hingestellt. Sehe ich aber nicht so.
Wenn man dabei Spaß hat und etwas lernt ist es das auf jeden Fall wert.
Man sollte nur nicht unbedingt darauf hoffen das Andere das hinterher
benutzen.
Um bei der Läufer Analogie zu bleiben: nur weil ich langsamer bin als
Andere und mein Laufstil für nahezu jeden völlig unverständlich, heißt
das doch nicht das ich das Hobby aufgeben müsste.
Ich sollte dann halt nicht erwarten damit Pokale zu gewinnen oder Andere
für meine Art zu Laufen zu begeistern.
FPGA zum Spass schrieb im Beitrag #5955221:
> Ich sollte dann halt nicht erwarten damit Pokale zu gewinnen> oder Andere für meine Art zu Laufen zu begeistern.
Ich kann's aber versuchen. :-)
FPGA zum Spass schrieb im Beitrag #5955071:
> Trotzdem darf ich ja eine Meinung dazu haben.
Ja natürlich darfst du das…
> Und wenn hier der bo8 als unübersichtlich usw kritisiert wird und man> etwas eleganteres zum Vergleich anbietet, dann kommen für mich nicht nur> 40 Jahre alte Design als Referenz in Frage, sondern natürlich auch> aktuelle Entwicklungen, wenn die eleganter sind.
Das ist in etwa so, als würdest du Hochspringer der 1920er Jahre mit
einem heutigen vergleichen.
> Dazu auch von bome selbst:>>> Das von mir erarbeitete Projekt eines 8bit-Rechners soll kein>>> Retro-Projekt sein. Der Rechner soll ein moderner Rechner sein.
Na ja, was bome dazu sagt, muss man - den entsprechenden Sachverstand
vorausgesetzt - nicht unbedingt für bare Münze nehemen.
> Was liegt dann näher, als moderne Designs anzusetzen?
Wenn man sich auf bomes Niveau begeben will, kann man das tun - es
verhält sich allerdings nicht anders, als mit den Hochspringern.
FPGA zum Spass schrieb im Beitrag #5955221:
> Um bei der Läufer Analogie zu bleiben: nur weil ich langsamer bin als> Andere und mein Laufstil für nahezu jeden völlig unverständlich, heißt> das doch nicht das ich das Hobby aufgeben müsste.
Da hast du Recht. Man sollte aber auch nicht so vermessen sein, zu
erwarten, dass Ergebnis das Non-Plus-Ultra ist, das mit der heutigen
µC-Technik mithalten kann.
Bomes Haltung "Ich habe da was ganz tolles gemacht und jetzt macht bitte
was damit" und gleichzeitig immer Wünsche nach einer halbwegs
brauchbaren Dokumentation und einer zeitgemäßen Entwicklungsumgebung
incl. Compiler mit dem Hinweis abzulehnen, davon verstünde man nichts,
ist doch etwas merkwürdig. Findest du nicht?
FPGA zum Spass schrieb im Beitrag #5954834:
> Leider zu einem großen Teil von Leuten die mit FPGAs garnichts am Hut> haben und vor allem die Aufmachung kritisieren.
Selbst wenn alles was "am Hut haben" wäre das völlig unzureichend. Hier
geht es nicht um plumpe Erfahrung mit FPGA sondern deteiliertes
Verständniss der Auswirkungen von Architekturentscheidungen. Aber
mindestens braucht es den Mut selber eine Architektur zu entwerfen und
zu evaluieren. Und wie ich das sehe, hat das ausser dem TO noch keiner
gewagt. Aber alle meinen mit Dummdödelargumenten wie moderenes design
schlägt altes design Mit-palavern zu können.
>Dein Picoblaze Beispiel ist doch der beste Beweis. Das Ding ist ein RISC>mit rund 20 Opcodes.
Du kennst den Picoblaze nicht wirklich, der hat rund 50 Opcodes (grad im
Befehlsdecoder nachgeschaut). Und statt einer RISC-Registerbank bringt
er ein kleines DP-SRAM Feld mit. Und der picoplace ist nach seinem
Schöpfer Ken Chapman keine CPU sondern lediglich eine Programmable State
Machine (deswegen hiess der picoblaze auch ursprünglich KCPSM). Deshalb
fehlen ihm im Unterschied zum Z80 einige addressierungsverfahren, div.
Interruptregime, Buswechselmechanismen für DMA, die Flags HC, SG, PA,
etc. pp.
Wass ich überhaupt nicht verstehe, angeblich haste ja Z80 Code
vorliegen. Dann schau doch bitte mal durch die netzliste nach der
Synthese oder log-files wo die CLB's verloren gehen. Dort findest du die
wahren Gründe warum die FPGA- Nachäffungen weit mehr resourcen benötigen
als nötig.
Hint 1:
https://www.xilinx.com/support/documentation/white_papers/wp275.pdf
Hint 2:
https://www.xilinx.com/support/documentation/white_papers/wp272.pdf
und diverse weitere Implementierungsschnitzer. Die Architektur ist von
Grund auf sparsam angelegt. Aber Personen, die Eleganz lediglich an der
zahl von weggehämmerten Zeilen messen wollen, ignorieren das gewöhnlich.
Der Code ist im Gameboy Thread drin.
Steht dir frei den zu optimieren.
Meiner braucht mehr als z.b. der T80 weil ich 100 MHz erreichen wollte.
Und auch weil ich Dinge die sonst in mehreren Cycles passieren in einem
machen wollte, weil mir 4 Takte pro Instruktion zu viel waren.
Zudem steht die Synthese auf Speed. Stelle ich auf Area schrumpft er von
5000 Luts auf <3000. Dann sinds aber nur noch <70 Mhz.
Den Picoblaze kenne ich tatsächlich nur von der Wikipedia Seite, wo nur
rund 20 OPcodes vermerkt sind, manche davon sogar optional.
Die 50 Opcodes hat der sicherlich auch nicht in der erwähnten 96 Lut
Variante.
Uhu U. schrieb:> Compiler mit dem Hinweis abzulehnen, davon verstünde man nichts,> ist doch etwas merkwürdig. Findest du nicht?
Sicherlich, da würde ich mir aber nicht zumuten mitreden zu müssen. Ich
mag keine Assembler Programmierung und habe für meine eigenen Softcores
seit jeher Compiler eingesetzt.
Andere scheinen damit klar zu kommen.
WENN man aber andere ansprechen will, dann ist ein Compiler sinnvoll, da
stimme ich uneingeschränkt zu.
S. R. schrieb:> Vielleicht leistungsfähiger als ein Z80,
Würde ich nicht behaupten wollen. In mancher Hinsicht
ist meine CPU sicher sogar weniger leistungsfähig.
Aber sie kann eines sehr viel besser als ein Z80, nämlich mehr
als 64-KByte adressieren. Da ist nicht nur der Sprung von einer
64-KByte-Seite in eine andere, sondern auch die Tatsache, dass
die CPU auf den Steuerleitungen anzeigt, von welchem der vier
Adressregister P,X,Y,Z eine ausgegebene Adresse kommt. Dadurch
kann eine externe Logik die Adressregister zum selben Zeitpunkt
in unterschiedliche 64-KByte-Seiten zeigen lassen.
Die Berechnung der Dauer von Befehlsfolgen ist einfacher
als beim Z80, und der Befehlssatz ist leichter zu merken.
Josef G. schrieb:> Aber sie kann eines sehr viel besser als ein Z80,> nämlich mehr als 64-KByte adressieren.
Ja, wobei das ein gelöstes Problem ist.
Damals übliches Banking löst 90% des Problems und 16 Bit-Chips den Rest.
Josef G. schrieb:> Die Berechnung der Dauer von Befehlsfolgen ist einfacher> als beim Z80, und der Befehlssatz ist leichter zu merken.
Das lese ich als Witz, nicht als Vorteil.
S. R. schrieb:> löst 90% des Problems und 16 Bit-Chips den Rest.
Keine CPU ist ideal für alles. Meine hat ihre
Nische da, wo man keine 16-Bit-CPU verwenden will.
> Das lese ich als Witz, nicht als Vorteil.
Für Hochsprachen-Programmierer ist es kein Vorteil.
Für Assembler-Hobbyisten schon.
Josef G. schrieb:> Nische da, wo man keine 16-Bit-CPU verwenden will.
Dann nimmt man einen AVR oder einen anderen marktüblichen 8Bit
Controller.
Deine Nische gibts nicht, gabs nicht und wirds nie geben.
Josef G. schrieb:>> löst 90% des Problems und 16 Bit-Chips den Rest.> Keine CPU ist ideal für alles. Meine hat ihre> Nische da, wo man keine 16-Bit-CPU verwenden will.
Kannst du mir ein Beispiel für deine Nische geben?
>> Das lese ich als Witz, nicht als Vorteil.>> Für Hochsprachen-Programmierer ist es kein Vorteil.> Für Assembler-Hobbyisten schon.
Ich wollte damit zum Ausdruck bringen, dass dein Befehlssatz alles
andere als "einfach zu merken" ist. Hochsprachen-Programmierer gibt es
mangels Hochsprache ohnehin nicht und Assembler-Hobbyisten sind in
erster Linie fremd.
S. R. schrieb:> Kannst du mir ein Beispiel für deine Nische geben?
Jetzt treib ihn doch nicht so in die Enge seiner Nische!
Ob es ihm diesmal gelingt daraus wieder wie ein schleimiger Aal zu
entwischen?
Wieder was im Markt-Forum: Ein Altera DE0-Board.
Das Board ist allerdings auch neu noch erhältlich.
Beitrag "[V] FPGA terasic Development Board Altera DE0"
Beim zweiten Angebot desselben Users bin ich nicht
sicher, ob es sich um das Spartan-3E-Starter-Board
handelt, auf dem ich mein Systen realisiert habe.
Auf dem Foto sieht es jedenfalls so aus.
Es scheint kein Netzgerät dabei zu sein,
aber preislich wäre es interessant.
Beitrag "[V] Digilent Xilinx FPGA Development Board Spartan-3E"
Josef G. schrieb:> Wieder was im Markt-Forum: Ein Altera DE0-Board.
Und diese Big News musst Du nun in Deinem Thread wiederkäuen? Erzähl uns
lieber was von der herbeifantasierten Nische, das wär tausendmal
interessanter. Aber das scheut der Projektherr natürlich wie der Teufel
das Weihwasser :)
> aber preislich wäre es interessant.
Für Dein System???
Da wär jeder Cent zuviel!
FFlarsen schrieb:> Und diese Big News musst Du nun in Deinem Thread wiederkäuen?
Mein System läuft auch auf dem DE0, das Board wäre
also für die hier mitlesenden interessant. Darum.
Josef G. schrieb:> Aber sie kann eines sehr viel besser als ein Z80, nämlich mehr> als 64-KByte adressieren.
Nein, Deine CPU kann auch nicht mehr als 64 KByte adressieren als der
ursprüngliche Z80, sondern arbeitet mit Bankumschaltung. Und wie schon
etliche Male erwähnt, vertragen sich Bankumschaltungen und (die bei
Deiner CPU nicht vorhandenen...) Interrupts sehr schlecht. Ich hatte
auch schon sehr deutlich darauf hingewiesen, dass es auch schon seit
mehreren Jahrzehnten Z80-Ableger mit erweitertem Adressraum, z.B.
HD64180, gibt.
Josef G. schrieb:> Beim zweiten Angebot desselben Users bin ich nicht> sicher, ob es sich um das Spartan-3E-Starter-Board> handelt, auf dem ich mein Systen realisiert habe.
Und noch einmal: Spartan-3 ist tot für Einsteiger und neue Projekte,
weil die hierfür benötigte ISE-Version auf PCs mit Windows 10 nicht mehr
aus der Tüte fällt, sondern über Hintertüren zurechtgefrickelt werden
muss. Bei Xilinx sind derzeit die siebte und achte Generation von FPGA
als "Mainstream" anzusehen, d.h. mit Deinem Festklammern an Spartan-3
hinkst Du rund zehn Jahren hinter dem üblichen technischen Stand
hinterher. Das ist nicht neu, das ist nicht modern. Du versuchst, einen
Dinosaurier wiederzubeleben, den es allerdings nie gegeben hat.
Andreas S. schrieb:> dass es auch schon seit mehreren Jahrzehnten Z80-Ableger> mit erweitertem Adressraum, z.B. HD64180, gibt.
Siehe
https://de.wikipedia.org/wiki/Zilog_Z180
Dort heisst es:
> Die MMU blendet den physikalischen Speicher> in 4 kByte-Blöcken in den logischen Adressraum ein.
Bei mir sind es 64-KByte-Blöcke.
Josef G. schrieb:> Bei mir sind es 64-KByte-Blöcke.
Das ändert jetzt aber alles :)
Also mal im Ernst: Was soll dieses übelst umständliche Banking wenn sich
heute sehr viel größere Speichermengen in flachen Speicherhiarchhien
ganz unkompliziert linear adressieren lassen?
Andreas S. schrieb:> Du versuchst, einen> Dinosaurier wiederzubeleben, den es allerdings nie gegeben hat
Und Du redest (so wie ich) gegen eine Wand. Dort ist alles an längst
überlebtem Urteil und Expertise für alle Zeiten festzementiert.
Josef G. schrieb:> Dort heisst es:>> Die MMU blendet den physikalischen Speicher>> in 4 kByte-Blöcken in den logischen Adressraum ein.>> Bei mir sind es 64-KByte-Blöcke.
Also noch ein Nachteil Deiner Architektur. Je feiner die Granularität
solcher einblendbaren Speicherblöcke, desto besser, und nicht umgekehrt.
64 KByte große Blöcke bei nur 64 KByte Adressraum sind doch ein großer
Mist.
Uraltverkleider schrieb:> wenn sich heute sehr viel größere Speichermengen in flachen> Speicherhiarchhien ganz unkompliziert linear adressieren lassen?
Ist dann halt keine 8-Bit-CPU und hat andere Nachteile,
zB. nicht exakt vorhersagbare Dauer der Befehle.
Andreas S. schrieb:> 64 KByte große Blöcke bei nur 64 KByte Adressraum> sind doch ein großer Mist.
Warum?
Josef G. schrieb:> Ist dann halt keine 8-Bit-CPU
Kann auch keine sein.
Sonst könnte man auch nicht >64kB linear adressieren.
Leuchtet Dir das ein?
> zB. nicht exakt vorhersagbare Dauer der Befehle.
Warum sollte man sich mit Deinem Konstrukt einen abbrechen wenn man zu
jedem anderen marktüblichen 8Bitter greifen kann der das Gleiche und
noch viel mehr beherrscht?
Josef G. schrieb:>> wenn sich heute sehr viel größere Speichermengen in flachen>> Speicherhiarchhien ganz unkompliziert linear adressieren lassen?>> Ist dann halt keine 8-Bit-CPU und hat andere Nachteile,> zB. nicht exakt vorhersagbare Dauer der Befehle.
Das eine hat mit dem anderen nichts zu tun. Es gibt auch 16
Bit-Architekturen mit exakt vorhersagbaren Befehlsdauern.
> Andreas S. schrieb:>> 64 KByte große Blöcke bei nur 64 KByte Adressraum>> sind doch ein großer Mist.>> Warum?
Weil man bei 16 Bit-Adressen und 64 KB großen Blöcken immer den gesamten
Adressraum auf einmal tauscht. Damit verliert man naturgemäß den Zugriff
auf Daten, die in einem anderen Block liegen...
Beispiel: Mit 4 KB-Blöcken gibt es 16 Blöcke im Adressraum.
Ein Spiel kann das sinnvoll aufteilen: 1 Block für das Hauptprogramm und
globale Variablen, 12 Blöcke für die Spieldaten und 3 Blöcke für
Unterprogramme. Die Unterprogrammblöcke werden vom Hauptprogramm je nach
Bedarf ein- und ausgeblendet.
Damit hat jedes Unterprogramm vollen Zugriff auf die Spieldaten, das
Spiel kann aber im Prinzip unbegrenzt viele Unterprogramme haben (und
bei Bedarf sogar weitere von Diskette oder Festplatte nachladen).
Außerdem hat jedes Unterprogramm zusätzlich lokalen Speicher zur
Verfügung. Praktische Sache, sowas. Setzt aber eine flexible
Banking-Logik voraus, die du nicht hast.
Ein Texteditor würde z.B. 4 Blöcke für den Code und 12 Blöcke für die zu
bearbeitende Datei reservieren. Da die Datei aber größer als 64 KB sein
kann, schaltet der Code immer den gerade aktuellen Ausschnitt in die 12
Blöcke.
Wie würdest du soetwas implementieren?
Uraltverkleider schrieb:> Josef G. schrieb:>> Ist dann halt keine 8-Bit-CPU>> Kann auch keine sein.> Sonst könnte man auch nicht >64kB linear adressieren.> Leuchtet Dir das ein?
Warum fragst du? Was lässt dich daran zweifeln?
S. R. schrieb:> Josef G. schrieb:>> Andreas S. schrieb:>>> 64 KByte große Blöcke bei nur 64 KByte Adressraum>>> sind doch ein großer Mist.>>>> Warum?>> Weil man bei 16 Bit-Adressen und 64 KB großen Blöcken immer den> gesamten Adressraum auf einmal tauscht. Damit verliert man natur-> gemäß den Zugriff auf Daten, die in einem anderen Block liegen...
Bei mir nicht, zB. kann Register X auf die 64-KByte mit den alten
Daten zeigen und Register Y auf die 64-KByte mit den neuen.
Josef G. schrieb:> Bei mir nicht, zB. kann Register X auf die 64-KByte mit den alten> Daten zeigen und Register Y auf die 64-KByte mit den neuen.
Das heißt, diese Register sind mindestens 17 Bit breit, oder du
verschenkst Opcodes.
S. R. schrieb:> Josef G. schrieb:>> Bei mir nicht, zB. kann Register X auf die 64-KByte mit den alten>> Daten zeigen und Register Y auf die 64-KByte mit den neuen.>> Das heißt, diese Register sind mindestens 17 Bit breit,> oder du verschenkst Opcodes.
Auf den Steuerleitungen wird angezeigt, ob eine ausgegebene
Adresse von Register X kommt oder von Register Y. Eine externe
Logik teilt beiden Registern unterschiedliche 64-K-Bereiche zu.
Josef G. schrieb:> Auf den Steuerleitungen wird angezeigt, ob eine ausgegebene> Adresse von Register X kommt oder von Register Y. Eine externe> Logik teilt beiden Registern unterschiedliche 64-K-Bereiche zu.
Ach so. Das ist auf einem Z80 auch kein Problem. Dazu muss man nur die
Präfixe für IX bzw. IY mitlesen (unter /M1 natürlich) und entsprechend
der Banking-Logik mitgeben.
S. R. schrieb:> Ach so. Das ist auf einem Z80 auch kein Problem. Dazu muss man nur die> Präfixe für IX bzw. IY mitlesen (unter /M1 natürlich) und entsprechend> der Banking-Logik mitgeben.
Es ist ja nicht zielführend, bei einem Selbstbauprojekt existierende
Produkte anzuführen, die das auch könn(t)en. Wem hilft das? Dem Ego des
Besserwissers?
Ich frage mich eher, was jemanden dazu bewegt, in einem FPGA-Projekt
absichtlich eine CPU mit Bankumschaltung zu designen? Da muss das
Interesse schon sehr spezifisch sein. Aber ja, auch ein solches
Interesse ist schlussendlich legitim!
Eddy C. schrieb:> Es ist ja nicht zielführend, bei einem Selbstbauprojekt existierende> Produkte anzuführen, die das auch könn(t)en. Wem hilft das? Dem Ego des> Besserwissers?
Nein, es geht ja nicht darum, das Projekt "grundlos" zu kritisieren,
sondern Josef behauptet ja, dass es viele technischen Konzepte so noch
nie gegeben hätte. Und dies lässt sich anhand von Beispielen sehr leicht
widerlegen.
> Ich frage mich eher, was jemanden dazu bewegt, in einem FPGA-Projekt> absichtlich eine CPU mit Bankumschaltung zu designen? Da muss das> Interesse schon sehr spezifisch sein. Aber ja, auch ein solches> Interesse ist schlussendlich legitim!
Dieses Interesse wäre durchaus legitim, wenn es wirklich nur um ein rein
privates Projekt ginge. Josef versucht jedoch, Dritte zum Mitmachen zu
animieren, und träumt von einer Implementierung der bo8-CPU in Silizium.
Hierfür muss ein Projekt entweder so überzeugend sein, dass sich Dritte
gerne daran beteiligen und ernsthafte Marktchancen sehen, oder man muss
einfach sehr viel eigenes Geld einwerfen, um einen Chip herstellen zu
lassen und/oder Entwickler zu beschäftigen.
R. F. schrieb:> Wo kann man denn das Programm bekommen?> Die weiter oben angegebene Homepage ist nicht erreichbar.
Vorsicht! Nach langen Diskussionen (siehe oben) hat Josef zwar Teile des
Projektes unter die Creative-Commons-Lizenz gestellt, hierbei jedoch
wesentliche Punkte vergessen. Durch die CC wird zwar u.a. die Weitergabe
ermöglicht, und Josef ermuntert auf seiner Projekt-Homepage auch zum
Herunterladen, aber er räumt Dritten keineswegs das Recht ein, die
Dateien durch Herunterladen zu kopieren!
Ich finde die Ähnlichkeiten zu "Marions Kochbuch" nämlich schon
frappierend:
Hierzu verweise ich auch die meine Ausführungen:
Beitrag "Re: 8bit-Computing mit FPGA"Beitrag "Re: 8bit-Computing mit FPGA"
Ich wollte das eigentlich nur lesen.
Ich habe noch ein Spartan3- kit und kann (vielleicht) das Webpack
installieren (unter Linux),
aber vielleicht nehme ich etwas vom OpenCore, da liegt reichlich herum.
Der immer auftretende Nachteil: Man muss sich entscheiden.
Robert
Andreas S. schrieb:> hierbei jedoch wesentliche Punkte vergessen.> ...> aber er räumt Dritten keineswegs das Recht ein,> die Dateien durch Herunterladen zu kopieren!
???
Josef G. schrieb:> ???
Diese ganze Lizens-Diskussion geht völlig an der Realität vorbei.
Der bo8 ist ein Liebhaberprojekt und wenn der im Moment einzige
Liebhaber nur starken Mundgeruch hätte, fände er vielleicht eine(n)
Gleichgesinnte(n).
Aber: -> Matthäus 7 Vers 7. Ich drücke ihm die Daumen!
Josef G. schrieb:> ???
Oh, offenbar war in meinem Webbrowser noch eine alte Version des Textes
auf Deiner Homepage gecacht. Mittlerweile gibt es in der Tat nur noch
den Verweis auf die CC-Lizenz, so dass der Download wohl auch halbwegs
rechtssicher erfolgen kann.
Damit können sich Dritte Dein Projekt zumindest schon einmal anschauen,
aber der wirklich sinnvolle Schritt bestünde darin, es bei einem Dienst
wie Github o.ä. in geeignet strukturierter Form bereitzustellen, damit
auch Dritte darauf basierend ihre Beiträge veröffentlichen können.
Irgendwelche ZIP-Dateien o.ä. auf privaten Homepages abzulegen wäre 1995
zwar noch der heißeste Scheiß gewesen, aber heutzutage reicht das nicht.
Andreas S. schrieb:> aber der wirklich sinnvolle Schritt bestünde darin
den Unsinn hier komplett einzustampfen.
Mach ihm doch keine Hoffnungen! Was soll das???
Reiner schrieb:> den Unsinn hier komplett einzustampfen.> Mach ihm doch keine Hoffnungen! Was soll das???
Welche Hoffnungen? Josef ignoriert doch schließlich alle konstruktiven
Ratschläge und macht anschließend ziemlich genau das Gegenteil. Warum
sollte er also daraus irgendwelche Hoffnung schöpfen?
Reiner schrieb:> Mach ihm doch keine Hoffnungen!
Die Hoffnung stirbt bekanntlich zuletzt und nirgends sonst sind
Wiederbelebungsversuche mit so geringem Aufwand möglich und 100%-ig
erfolgreich…
Eddy C. schrieb:>> Ach so. Das ist auf einem Z80 auch kein Problem. Dazu muss man nur die>> Präfixe für IX bzw. IY mitlesen (unter /M1 natürlich) und entsprechend>> der Banking-Logik mitgeben.>> Es ist ja nicht zielführend, bei einem Selbstbauprojekt existierende> Produkte anzuführen, die das auch könn(t)en. Wem hilft das?
Wenn Produkt A mit einer besonderen, einzigartigen Funktionalität XY
beworben wird, dann ist ein Verweis auf ein vergleichbares Produkt B,
was das so nebenbei auch kann, durchaus zielführend - finde ich.
Vor allem, wenn Produkt B in so ziemlich allen anderen Kategorien
objektiv unbestritten gewinnt. Das hat was mit der Wahl der Maßstäbe zu
tun, nicht mit Besserwissertum.
Eddy C. schrieb:> Auf den Lösungsansatz gebracht hat dich womöglich erst Josef selbst.
Du liest hier seit 10min mit, oder doch schon länger?
Tu Dir mal den gesammten Thread an.
Das einzige worauf Josef hier jemanden bringt, ist sich einfach
umzudrehen und zu gehen, weil es Menschen gibt die vollständig
unberatbar sind und jedweder Argumentation unzugänglich.
Diese völlig verkorkste Totgeburt hat doch erst wieder Fahrt aufgenommen
seit über das Lizenzmodell gestritten wurde.
Ansonsten informiert Josef uns alle paar Tage / Wochen mal über eine
sinnlose Änderung von irgendwas um den Tread am Leben zu erhalten.
1119 Beiträge und nicht ein einziger hat jemals wirklich mit Josefs
System gearbeitet.
Ein paar haben sich das mal angeschaut.
Jeder Versuch in irgendeiner Form Einfluss auf diese gelebte Katastrophe
zu nehmen hat Josef immer weggelabert.
Wohlgemerkt ein System das Josef für so genial einfach und übersichtlich
hält, das es für 'jederman' das super duper Einstiegssystem zum lernen
sein soll.
Wie gesagt 1119 Beiträge, aber aus Josephs Zielgruppe war noch nicht ein
einziger hier.
Wie gerne würde ich diesen schlimmen Unfall aus 'Threads mit meinen
Beiträgen' entfernen, weil ich mich doch immer wieder dazu hinreissen
lassen mir den Schrott anzusehen.
Haha, hinreissen lassen, ja das stimmt wohl, da hängen ein paar in einer
Tretmühle fest und ich will mich da nicht ausschliessen.
Aber die Vehemenz, mit der manche Josef einreden wollen, dass alles Mist
ist, grenzt an Irrsinn und ist auch dumm.
Schweigen, lächeln und weggehen würde ich empfehlen.
Josef kann doch machen, was er will.
Meine Güte.
Wenn es ihm Spaß macht, dann soll er halt.
Sachliche Kritik finde ich ja Ok.
Aber solche Aussagen, dass das Projekt sinnlos wäre oder ähnliches, sind
unangebracht. Es ist ein Hobbyprojekt. Das ist per Definition nicht
sinnlos. (oder per Definition sinnlos. Je nachdem, wie man es sieht)
Eddy C. schrieb:> Aber die Vehemenz, mit der manche Josef einreden wollen, dass alles Mist> ist, grenzt an Irrsinn und ist auch dumm.
Da redet man dem nichts ein.
Das IST alles Mist.
Über >1000 Beiträge in allen Details bis zum Erbrechen durchgekaut.
Sinn einer technischen Diskussion ist der Meinungsaustasuch und
fachliche Disput im Sinne der Verbesserung.
Josef konzipiert das nicht als Hobby Spaß Projekt.
Wäre das so würde keiner was sagen.
Dumm ist es weiter mit Josef zu diskutieren.
Da kann ich mit zwei Euro an den Parkautomaten gehen und habe einen
nutzbringenderen Meinungsaustausch mit der blöden Kiste.
Josef G. schrieb:> Habe ein wenig am Aussehen des Zeichensatzes experimentiert.> Zum Vergleich rechts die bisherige Version.Michael K. schrieb:> Ansonsten informiert Josef uns alle paar Tage / Wochen mal über eine> sinnlose Änderung von irgendwas um den Tread am Leben zu erhalten.
quod erat demonstrandum
Michael K. schrieb:> quod erat demonstrandum
Nein. Vor meinem letzten Beitrag war der Thread ohnehin
ganz oben, und man kann mir nicht vorwerfen, ich hätte den
Beitrag nur gepostet um den Thread nach oben zu bringen.
Ausserdem war es diesmal nicht ich,
der den Thread nach oben geholt hat.
Beitrag "Re: 8bit-Computing mit FPGA"
Josef G. schrieb:> Ausserdem war es diesmal nicht ich,> der den Thread nach oben geholt hat.
Wenn das zukünftig immer häufiger der Fall wäre würdest Du damit einen
Lerneffekt demonstrieren :-)
Eddy C. schrieb:>> Besserwissertum> Auf den Lösungsansatz gebracht hat dich womöglich erst Josef selbst.
Das stimmt tatsächlich. Die von der bo8 präferierte Lösung ist nämlich
sehr unüblich, tief in der Systemarchitektur (bzw. im Befehlssatz)
integriert und bietet keine nennenswerten Vorteile gegenüber erprobten
Alternativen.
> Wo ist das Produkt B, von dem Du sprichst?
Aus meiner Sicht wäre der Z80 das auf allen Ebenen siegende
Konkurrenzprodukt, sowohl in der Breite als auch in der Nische. Andere
mögen stattdessen 6502 oder 6809 auf der Siegesstraße sehen.
Josef G. schrieb:> Habe ein wenig am Aussehen des Zeichensatzes experimentiert.
Ich habe jetzt ein paar Minuten auf die Bilder gestarrt und sehe bis auf
die Hintergrundfarbe keinen Unterschied. Dafür fällt mir gerade auf,
dass dein Zeichensatz ausschließlich für Englisch und (eingeschränkt)
Deutsch geeignet ist. Der Name André lässt sich z.B. überhaupt nicht
darstellen.
S. R. schrieb:> sehe bis auf die Hintergrundfarbe keinen Unterschied.
Siehe a b d u v ä ü ' U V Ü
> Der Name André lässt sich z.B. überhaupt nicht darstellen.
Ist halt ein 7-Bit-Zeichensatz.
Unicode ist auf einem 8-Bit-Rechner nicht machbar.
Immerhin liegen die Zeichen ä ö ü ß Ä Ö Ü Sigma
im RAM und sind als veränderlich konzipiert.
Josef G. schrieb:> Unicode ist auf einem 8-Bit-Rechner nicht machbar.
Gemeint war: Ein kompletter Unicode-Zeichensatz
ist auf einem 8-Bit-Rechner nicht machbar.
Josef G. schrieb:> Gemeint war: Ein kompletter Unicode-Zeichensatz> ist auf einem 8-Bit-Rechner nicht machbar.
Ein kompletter 8-Bit-Zeichensatz wie ISO8859-1 oder ISO8859-15 ist
relativ einfach machbar. Dieser beinhaltet zumindest alle
westeuropäischen Sonderzeichen und ist weitgehend identisch mit
Windows-1252 (aka CP1252) bzw. mit dem DEC-Multinational Character Set.
In den Bereichen 128-159 (0x80-0x9F) kannst Du Dich dann noch austoben.
Josef G. schrieb:> Gemeint war: Ein kompletter Unicode-Zeichensatz> ist auf einem 8-Bit-Rechner nicht machbar.
Mit solchen Zeichensätzen betreibt man im Allgemeinen kein exzessives
"Numbercrunching", so dass es egal ist, ob die Zugriffe auf einzelne
Zeichen aus einem oder mehreren Befehlen bestehen. Nur bei aufwändigen
Textsuchen kann so etwas leistungsbegrenzend sein.
Falls die Architektur Deines bo8 jedoch so scheiße sein sollte, dass es
dadurch bedingt einen handfesten Grund geben sollte, warum sich keine
Datentypen mit mehr als der Registerbreite verarbeiten lassen, dann es
da eine massive Schwäche und kein Leistungsmerkmal. Mit einem Z80 o.ä.
wäre es überhaupt kein Problem, auch UTF-16 und Konsorten zu
verarbeiten. Und auch auf jedem Atmel AVR kann man in C munter mit
größeren Datentypen (16 Bit, 32 Bit) arbeiten, ggf. sogar mit
Fließkommatypen. Das wird eben nur bei der Ausführung entsprechend
langsam.
Josef G. schrieb:>> sehe bis auf die Hintergrundfarbe keinen Unterschied.> Siehe a b d u v ä ü ' U V Ü
Also nur ein paar geänderte Pixel. Danke für die Erklärung.
>> Der Name André lässt sich z.B. überhaupt nicht darstellen.> Ist halt ein 7-Bit-Zeichensatz.
Gibt es dafür einen bestimmten Grund?
> Unicode ist auf einem 8-Bit-Rechner nicht machbar.
Die Verarbeitung ist problemlos machbar, das Rendering hängt (wie bei
allen Systemen) vom vorhandenen Font ab. Es spricht also nichts dagegen.
Aber das meinte ich garnicht. Was hindert dich daran, einen vollen
8-Bit-Zeichensatz zu benutzen? Die üblichen Codepages für Westeuropa
(CP850 oder iso8859-1) wären sowohl angemessen als auch vollkommen
ausreichend.
> Immerhin liegen die Zeichen ä ö ü ß Ä Ö Ü Sigma> im RAM und sind als veränderlich konzipiert.
Die anderen nicht? Für Schwedisch braucht man mindestens ä ö å ü und é
(letztere kommen recht häufig in Namen vor), das wäre also schonmal
prinzipiell unmöglich. Obwohl es eigentlich kein großer Unterschied ist.
S. R. schrieb:> üblichen
Das ist das relevante Schlüsselwort. Josef vermeidet konsequent übliche,
erprobte Vorgehensweisen, um dadurch die Vergleichbarkeit seines
Projektes mit anderen erfolgreichen und erfolglosen Ansätzen zu
erschweren.
Andreas S. schrieb:> S. R. schrieb:>> üblichen>> Das ist das relevante Schlüsselwort. Josef vermeidet konsequent übliche,> erprobte Vorgehensweisen, um dadurch die Vergleichbarkeit seines> Projektes mit anderen erfolgreichen und erfolglosen Ansätzen zu> erschweren.
Man sollte den Thread löschen oder zumindest sperren. Mehr als Gezanke
gibts hier nicht!
Andreas S. schrieb:> Josef vermeidet konsequent übliche,> erprobte Vorgehensweisen, um dadurch die Vergleichbarkeit seines> Projektes mit anderen erfolgreichen und erfolglosen Ansätzen zu> erschweren.
Das ist die hohe Kunst, aus der Not eine Tugend zu machen…
S. R. schrieb:> Josef G. schrieb:>> Ist halt ein 7-Bit-Zeichensatz.>> Gibt es dafür einen bestimmten Grund?
Es spart im ROM Speicherplatz, wenn man nur 128 Zeichen
hat. Und Bit-7 steht für Unterstreichen zur Verfügung.
> Was hindert dich daran, einen vollen 8-Bit-Zeichensatz> zu benutzen? Die üblichen Codepages für Westeuropa> (CP850 oder iso8859-1) wären sowohl angemessen> als auch vollkommen ausreichend.
Warum nicht auch Kyrillisch? Man muss irgendwo eine Grenze
ziehen, sonst landet man beim vollen Unicode-Zeichensatz,
der im ROM zu viel Platz braucht. Und ich habe mich
für die minimalistische Lösung entschieden.
Josef G. schrieb:> Warum nicht auch Kyrillisch?
Kyrillisch ist nicht in ISO8859-1 enthalten.
> Man muss irgendwo eine Grenze> ziehen, sonst landet man beim vollen Unicode-Zeichensatz,
ISO8859-x ist kein Unicode, sondern enthält ausschließlich Zeichen mit
einem Byte Länge, wohingegen schon bei UTF-8 bis zu vier Byte pro
Zeichen auftreten können.
> der im ROM zu viel Platz braucht. Und ich habe mich> für die minimalistische Lösung entschieden.
ISo8859-x benötigt nicht mehr Platz. Die einzige Einschränkung besteht
darin, dass unterstrichene Zeichen nicht im Zeichensatz enthalten sind.
Es ist ohnehin eine katastrophale Fehlentscheidung, unterstrichene
Zeichen als eigenständige Zeichen zu sehen. Wollte man nämlich einen
bo8h als "richtigen Computer" verwenden, müsste man solche Krücken z.B.
bei Textsuchfunktionen berücksichtigen. Inkompatibler geht es kaum noch.
Selbst mit EBCDIC könnte man sich eher noch anfreunden.
Andreas S. schrieb:> Kyrillisch ist nicht in ISO8859-1 enthalten.
Eben.
> ISo8859-x benötigt nicht mehr Platz.
Wenn da 256 verschiedene Zeichen darzustellen sind,
dann belegen die Pixelmuster im ROM mehr Platz als
wenn es nur 128 verschiedene Zeichen sind.
Oder wie sonst sollte das gehen?
> Inkompatibler geht es kaum noch.
Kompatibilität zu irgendetwas war nicht
mein Ziel. Siehe hexadezimaler Ziffernsatz.
Josef G. schrieb:> Kompatibilität zu irgendetwas war nicht> mein Ziel. Siehe hexadezimaler Ziffernsatz.
Und dann träumst Du noch davon, dass irgendjemand bereit wäre, Deinen
Prozessor in Silizium zu gießen? Oder ihn für irgendein reales Projekt
einzusetzen?
Andreas S. schrieb:> Und dann träumst Du noch davon, dass irgendjemand bereit wäre, Deinen> Prozessor in Silizium zu gießen? Oder ihn für irgendein reales Projekt> einzusetzen?
Und wo genau ist das Problem?
Josef G. schrieb:>>> Ist halt ein 7-Bit-Zeichensatz.>> Gibt es dafür einen bestimmten Grund?> Es spart im ROM Speicherplatz, wenn man nur 128 Zeichen> hat. Und Bit-7 steht für Unterstreichen zur Verfügung.
Ich wüsste jetzt nicht, warum man unbedingt an der Stelle die Bits
sparen muss. Und selbst dann wäre es sinnvoller, einen vollen 8
Bit-Zeichensatz anzubieten und bei totaler Armut nur 7 Bit zu
bestücken.
Unterstreichen ist von den drei üblichen Attributen aus Anwendersicht
ohnehin das ungeeignetste: Es verschlechtert die Lesbarkeit. Ein
doppelter Zeichensatz (normal/kursiv oder normal/fett) wäre sinnvoller
gewesen, und wenn man aus Armutsgründen nicht bestückt, bleibt das
System trotzdem sinnvoll einsetzbar.
Josef G. schrieb:> Warum nicht auch Kyrillisch?
Verglichen mit deinem jetzigen Zeichenvorrat ist der Nutzen eines
westeuropäischen Zeichensatzes größer als der eines kyrillischen
Zeichensatz, selbst bei gleichen Kosten. Beides wäre natürlich zu
bevorzugen.
Josef G. schrieb:> Kompatibilität zu irgendetwas war nicht> mein Ziel. Siehe hexadezimaler Ziffernsatz.
Vielleicht solltest du etwas an der Zielstellung feilen.
Josef G. schrieb:> Und ich habe mich für die minimalistische Lösung entschieden.
Die Zeiten, wo man Kompromisse auf Kosten der Lesbarkeit von
Displaytexten machen musste, sind glücklicherweise längst vorbei.
Du hätschelst also eine Not, die keine mehr ist und erklärst sie dann
auch noch zur Tugend…
Andreas S. schrieb:> Es ist ohnehin eine katastrophale Fehlentscheidung, unterstrichene> Zeichen als eigenständige Zeichen zu sehen.
Um es Josef nochmal zu erklären: du mischst die Zeichencodierung mit der
Zeichendarstellung – erstere betrifft die externe Darstellung der
Zeichen, letztere ist eine rein interne Angelegenheit der
Zeichendarstellung auf einem Display.
Du mischst also zwei Ebenen, die schon sehr früh in der
Hardwareentwicklung getrennt wurden, um die Interoperabilität der Geräte
zu garantieren.
Das ist eine ausgesprochen kurzsichtige Designentscheidung.
Uhu U. schrieb:> Das ist eine ausgesprochen kurzsichtige Designentscheidung.
Nein.
Es ist eine legitime Designentscheidung, die das Design wesentlich
vereinfacht.
S. R. schrieb:> Ich wüsste jetzt nicht, warum man unbedingt> an der Stelle die Bits sparen muss.
Es sind nicht nur "Bits".
Bei mir belegen die Pixelmuster der 128 Zeichen
im ROM 1 KByte. Bei 256 Zeichen wären es 2 KByte.
Josef G. schrieb:> Bei mir belegen die Pixelmuster der 128 Zeichen> im ROM 1 KByte. Bei 256 Zeichen wären es 2 KByte.
Ich wüsste jetzt trotzdem nicht, was daran real ein Vorteil ist.
Einerseits muss das Zeichen-ROM nicht in den Adressraum gemappt werden,
andererseits hast du durch dein Architekturdesign ohnehin mehr einfach
nutzbaren Adressraum als vergleichbare Systeme.
Ein 8 Bit-Design auf 7 Bit zu beschränken ist einfacher, als ein 7
Bit-Design auf 8 Bit zu erweitern. Aber das weißt du sicherlich auch.
S. R. schrieb:> Einerseits muss das Zeichen-ROM nicht> in den Adressraum gemappt werden,
Bei mir schon, weil es keinen Hardware-Zeichengenerator gibt
und die CPU selber die Pixelmuster ins Video-RAM schreibt.
Der Zeichensatz belegt 1 der 32 KByte des Hauptplatinen-ROM.
Josef G. schrieb:> Bei mir schon, weil es keinen Hardware-Zeichengenerator gibt> und die CPU selber die Pixelmuster ins Video-RAM schreibt.
Warum tust du dann die Pixelmuster nicht einfach ins RAM?
Den gewünschten Kompromiss zwischen RAM-Verbrauch und Zeichensatz kann
die Anwendung dann selbst vornehmen.
S. R. schrieb:> Warum tust du dann die Pixelmuster nicht einfach ins RAM?
Versteh ich jetzt nicht, wie du das meinst.
Die Pixelmuster müssen ja nach Power Up
irgendwo herkommen und deshalb im ROM stehen.
Die CPU kopiert die Muster dann für den
darzustellenden Text ins Video-RAM.
Der Video-Generator liest ständig das Video-RAM
als Grafik aus und sendet es zum Monitor.
Josef G. schrieb:> Versteh ich jetzt nicht, wie du das meinst.
Angefangen hat es mit:
Josef G. schrieb:>> Der Name André lässt sich z.B. überhaupt nicht darstellen.> Ist halt ein 7-Bit-Zeichensatz.
Und ich bin davon ausgegangen, dass das in deiner Hardware so vorgegeben
ist. Wenn das ein reines Softwareproblem ist...
Josef G. schrieb:> Die Pixelmuster müssen ja nach Power Up> irgendwo herkommen und deshalb im ROM stehen.
Was hindert dich daran, einfach ein größeres ROM zu nehmen?
PS:
Mit ROM war hier gemeint das ROM im angestrebten Fertig-Gerät.
In der Prototyp-Realisierung auf den FPGA-Boards ist natürlich
alles RAM und erhält seinen Inhalt beim Konfigurations-Prozess.
Josef G. schrieb:> Mit ROM war hier gemeint das ROM im angestrebten Fertig-Gerät.
Meinst Du damit einen "echten" bo8(h)-Prozessor als kundenspezifisches
IC?
Dieses IC wird es niemals geben. Kein Investor wäre bereit, auch nur
einen Cent für solch einen Baustein vorzustrecken. Alternativ könntest
Du natürlich Deine Ersparnisse dafür opfern, wovon Dir aber auch jeder
abraten würde.
Andreas S. schrieb:> Dieses IC wird es niemals geben. Kein Investor wäre bereit, auch nur> einen Cent für solch einen Baustein vorzustrecken.
Ich empfehle crowd founding! Dort findet sich ein Investment-pool für
jeden Scheiss!
K. L. schrieb:> Ich empfehle crowd founding! Dort findet sich ein Investment-pool für> jeden Scheiss!
Nö, nur für gut präsentierten Scheiß. Und daran dürfte es bei Josef
scheitern.
---------------------------------------------------------------------
Bei mir schon, weil es keinen Hardware-Zeichengenerator gibt
und die CPU selber die Pixelmuster ins Video-RAM schreibt.
---------------------------------------------------------------------
So macht es der Schneider CPC auch. Baujahr 1985.
Josef G. dann hast du ja eine Lizenz geraubt. Bezahlst du dafür
Lizenzgebühren ?
An deiner Stelle würde erst mal prüfen, was du noch für weitere Produkte
unerlaubt benutzt hast.
-----------------------------
Gemeint war: Ein kompletter Unicode-Zeichensatz
ist auf einem 8-Bit-Rechner nicht machbar.
----------------------------
Natürlich gibt es den beim VC20.
Auf dem VC20 kannst du über 1500 Zeichen realisieren.
Josef G. schrieb:> Mit Hilfe eines hochintegrierten Spezialchips.
Den du nicht brauchst, weil du Vollgrafik hast.
Damit kannst du unbegrenzt viele verschiedene Zeichen anbieten... also
das gesamte Unicode. Die Verarbeitung ist sowieso unabhängig von der
Bitbreite.
SDRAM ist immer wieder mal ein Thema:
Beitrag "Re: C64 auf Cyclone II"
Dabei hab sogar ich es hingekriegt, SDRAM zu verwenden.
Keine Burst-Zugriffe, sondern Einzelwort-Zugriffe, und
Refresh während der inaktiven Halbzyklen der CPU ohne
Störung des streng brechenbaren CPU-Timings.
Es gibt nun auch eine Realisierung auf dem OpenEP4CE10-Board
von Waveshare. Angesteckt sind die Module SDRAM-B, VGA-PS2,
SD-Card/Micro-SD-Card, RS232, 4-digit-8-segment-LED-Display.
Das Board ist erhältlich beim Distributor Eckstein.
Auf dem Board ist ein Cyclone IV, der auch vom neuesten
Quartus unterstützt wird. Vorteil gegenüber dem DE0-nano
ist, dass man kein spezielles 5.4-Volt-Netzteil braucht.
Erforderlich ist eine PS2-Tastatur, die mit 3.3 Volt
funktioniert, andernfalls muss man ein wenig basteln.
Im User-Manual zum alten Nexys2 habe ich die Aussage
gefunden: Most PS/2 devices can operate from a 3.3V
supply, but older devices may require a 5V DC supply.
VHDL-Dateien und Assignments gibt es im Download-File meiner
Website, eine Beschreibung steht auf der Seite Hardware des
Download-Files. Diese Seite habe ich gründlich überarbeitet.
http://www.bo8h.de
Josef's Dauer-Panik vor dem Vergessenwerden.
Penetrante Aufmerksamkeits-Kampf mit aussichtslosem Technik-Krampf.
Uralten Käse immer wieder mit frischem Datum zu versehen- das grenzt ja
fast an Betrug :)
Adam schrieb:> das grenzt ja fast an Betrug :)
So ein Unsinn.
Josef hat ein Hobbyprojekt.
Josef hat Spaß dran.
Josef teilt es mit anderen Leuten.
Wo ist nun dein Problem?
Es Betrug zu nennen ist eine Unverschämtheit.
MaWin schrieb:> Josef hat Spaß dran
Aus soviel Postings ohne positive Resonanz spricht eher Verzweiflung,
wenn nicht Schlimmeres.
> Josef teilt es mit anderen Leuten
mit wem? mit Dir etwa?
> Es Betrug zu nennen
lern erst mal lesen
Es scheint immerhin noch zwei PS2-Tastaturen zu geben, die neu
erhältlich sind: Perixx PERIBOARD-107 und PERIBOARD-409 P.
Allerdings brauchen sie laut Datenblatt 5 Volt, dann hätten sie
keinen Vorteil gegenüber USB-Tastaturen mit Adapter. Kann aber
sein, dass sie nur deshalb mit 5 Volt spezifiziert sind, weil sie
mit 3.3 Volt die Ausgangspegel für die PS2-Signale nicht erreichen,
aber das sollen sie ohnehin nicht. Man müsste es ausprobieren.
Auf dem VGA-PS2-Modul von Waveshare sind die Leitungen für
Vcc, PS2-clk und PS2-data zugänglich. Man kann sie auftrennen,
an der PS2-Buchse 5 Volt anschließen und in PS2-clk und PS2-data
Spannungsteiler einbauen (sie werden FPGA-seitig nur gelesen).
Aber eigentlich sind PS2-Tastaturen für das Projekt ohnehin nur ein
Notbehelf. Besser und viel einfacher wäre eine spezielle Tastatur,
die nicht Scan-Codes liefert, sondern gleich die 128 Zeichencodes.
Ein nachfolgendes neuntes Bit bliebe dann so lange aktiv, bis die
Taste losgelassen wird. Es folgt der Ruhepegel bis zum nächsten
Startbit. Die Festlegung der Repeat-Frequenz und ob überhaupt ein
Auto-Repeat aktiv ist, bleibt dann dem Hauptgerät überlassen.
Gleichzeitiges Drücken von zwei oder mehr Tasten ist nicht
vorgesehen mit Ausnahme der Shift-Taste, und die würde
vom Tastaturcontroller ausgewertet.
Josef G. schrieb:> Allerdings brauchen sie laut Datenblatt 5 Volt, dann hätten sie> keinen Vorteil gegenüber USB-Tastaturen mit Adapter.
Es gibt keine für 3.3V spezifizierten PS/2-Tastaturen, denn PS/2 ist für
5V spezifiziert. Also wird auch kein Hersteller volle Funktionsfähigkeit
bei 3.3V garantieren.
Josef G. schrieb:> Aber eigentlich sind PS2-Tastaturen für das Projekt ohnehin nur ein> Notbehelf. Besser und viel einfacher wäre eine spezielle Tastatur,> die nicht Scan-Codes liefert, sondern gleich die 128 Zeichencodes.
Das artet in relativ viel mechanischer Handarbeit aus. Du kannst ja mal
deine Referenztastatur posten (Schaltung und Bild) und sagen, ob man
damit gut arbeiten kann.
Eine von mir aus Holz geschnitzte Tastatur wäre auf jeden Fall
schlechter als die alte PS/2-Tastatur im Schrank.
Josef G. schrieb:> Gleichzeitiges Drücken von zwei oder mehr Tasten ist nicht> vorgesehen mit Ausnahme der Shift-Taste, und die würde> vom Tastaturcontroller ausgewertet.
Das ist mal wieder große Scheiße.
René schrieb:> sich wieder mal keine Sau für Deine belanglosen Verlautbarungen zu> interessieren. Sag mal, redest Du oft mit Dir selbst?
Warum machst Du Josef hier dumm an?
Josef ist ganz bestimmt nicht doof - maximal vielleicht etwas speziell.
Ich sehe es so wie MaWin
(Beitrag "Re: 8bit-Computing mit FPGA").
Wen es nicht interessiert, der muß hier ja nicht mit lesen.
Gustav schrieb:> Wofür denn?
Für sein Sitzfleisch und seine Sturheit. Beides dürfte so ziemlich
unübertroffen sein.
Zeno schrieb:> Josef ist ganz bestimmt nicht doof - maximal vielleicht etwas speziell.
Da hast du Recht.
MaWin schrieb:> Josef hat ein Hobbyprojekt.
Ohne jeden Zweifel.
> Josef hat Spaß dran.
Schwer zu beurteilen, ob das Spaß oder Verbohrtheit ist. Ich vermute,
dass das Gleichgewicht im Kontinuum Spaß <-> Verbohrtheit stark rechts
liegt…
> Josef teilt es mit anderen Leuten.
Das würde er gerne. Nur steht er sich dabei selbst im Weg.
S. R. schrieb:> Es gibt keine für 3.3V spezifizierten PS/2-Tastaturen,
Leider sind auf dem Waveshare VGA-PS2-Modul die Leitungen
für 3.3 Volt, PS2-Clk, PS2-Data einfach zwischen Stiftleiste
und PS2-Buchse durchverdrahtet. Ein Anschluss von 5 Volt und
Pegelwandlung für die beiden Signale sind nicht vorgesehen.
Offenbar sind die Konstrukteure des Moduls auch davon
ausgegangen, dass viele PS2-Tastaturen inoffiziell mit
3.3 Volt funktionieren, so wie oben von mir geschrieben:
Josef G. schrieb:> Im User-Manual zum alten Nexys2 habe ich die Aussage> gefunden: Most PS/2 devices can operate from a 3.3V> supply, but older devices may require a 5V DC supply.
Meine Easy Line ET100 funktioniert problemlos an 3.3V.
Leider ist sie neu nicht mehr erhältlich.
Uhu U. schrieb:> Josef teilt es mit anderen Leuten.>> Das würde er gerne. Nur steht er sich dabei selbst im Weg.
Nein. Das Projekt selbst taugt schon für nichts, außer als Aufhängepunkt
endloser Diskussion. Die damit verbundene Hoffnung, es möge irgendwann
als etwas praktisch sinnvolles erkannt werden wird zwar auf immer
unerfüllt bleiben, aber so ein Plätzchen an vorderer Stelle der
Projekte-Rubrik täuscht ihm wenigstens ein bischen Wichtigkeit vor.
Roman H. schrieb:> Das Projekt selbst taugt schon für nichts, außer als Aufhängepunkt> endloser Diskussion.
Als Hobby-Projekt gehts durch. Nur die Hoffnung, damit "ganz groß raus
zu kommen" ist etwas naiv.
peter schrieb:> So macht es der Schneider CPC auch. Baujahr 1985.> Josef G. dann hast du ja eine Lizenz geraubt. Bezahlst du dafür> Lizenzgebühren ?
Das dürfte wohl kaum noch unter einem Patent stehen. Weil dann muss
jeder heutige GraPro Lizenzgebüren zahlen :-)
Josef G. schrieb:>> Es gibt keine für 3.3V spezifizierten PS/2-Tastaturen,>> Offenbar sind die Konstrukteure des Moduls auch davon> ausgegangen, dass viele PS2-Tastaturen inoffiziell mit> 3.3 Volt funktionieren, so wie oben von mir geschrieben:
Das mag sein. Dennoch ist PS/2 nie für 3.3V standardisiert worden,
dementsprechend wird es keinen Tastaturhersteller geben, der unter
diesen Bedingungen die volle Funktionsfähigkeit garantiert. Finde ich
jetzt aber nicht so tragisch.
Gibt schlimmeres in deinem Design. Wesentlich schlimmeres.
Josef, Du wirst doch nicht nach all der Zeit der offenen Ablehnung und
teils überzogener Kritik...
Der Link von Uhu soll wohl ein Hinweis drauf sein, dass der Erbauer der
diskreten CPU, die sogar funktioniert, durch seine selbstironische Weise
gute Resonanz für sein Projekt erhalten hat. Mal sehr wohlwollend
gedeutet.
Josef G. schrieb:> Uhu U. schrieb:>> Beitrag "diskreter uC (und er funktioniert sogar)">> Und? Ein Hinweis auf ein tolles Projekt, während meines Mist ist?
Die Projekte sind überhaupt nicht vergleichbar.
Das eine ist eine praktisch unbenutzbare undokumentierte CPU mit wenigen
Bits RAM.
Das andere ist eine praktisch unbenutzbare fast undokumentierte CPU mit
wesentlich größerer Leistung.
Beide sind nicht praktisch brauchbar.
Aber beide sind Hobbyprojekte und damit vollständig legitim.
Habt Spaß!
Tom schrieb im Beitrag #6022445:
> MaWin schrieb:>> Habt Spaß!>> Du hast noch nicht begriffen dass der Spass seit langem nur noch in> vorderer Projektthread Platzierung besteht.
Nein, Tom - Du hast nicht begriffen dass Dich das nichts angeht. Das
Forum gehört Andreas und solange er nicht zu Josef sagt, dass er sein
Projekt hier nicht haben will, darf Josef es hier vorstellen. Ob Du das
gut findest oder nicht, spielt keine Rolle - leb damit.
Maik schrieb:> Josef G. schrieb im Beitrag #60>> Und? Ein Hinweis auf ein tolles Projekt, während meines Mist ist?>> So ist es. Nachgewiesenermaßen :)
Was soll der Scheiß? Ich hab das Teil sicher nicht als Schwanzvergleich,
oder zum Vergleich mit anderen Projekten gebaut
Josef G. schrieb:> Uhu U. schrieb:>> Beitrag "diskreter uC (und er funktioniert sogar)">> Und? Ein Hinweis auf ein tolles Projekt, während meines Mist ist?
So ein Schmarrn! Wenn du wüstest, wie viel Mist ich bei meinem Teil
verbockt hab.
Mach einfach weiter mit deinem Projekt, wenns dir Spaß macht. Dazu sind
Projekte schließlich da.
Und um nicht in Langeweile zu versinken.
Josef G. schrieb:> Uhu U. schrieb:>> Beitrag "diskreter uC (und er funktioniert sogar)">> Und? Ein Hinweis auf ein tolles Projekt, während meines Mist ist?
Nein, darum geht es doch nicht. Es geht vielmehr nur um die
Anspruchshaltung:
- Du behauptest, Dein bo8 sei gut für Einsteiger geeignet
und es gäbe sogar einen Markt für ein entsprechendes IC.
Diejenigen, die einen Blick auf die von Dir wie Sauerbier
angepriesenen Projektdateien geworfen haben, wenden sich
aber irgendwann auf Grund der Unbrauchbarkeit und Deiner
Unbelehrbarkeit ab.
- Klosskopf hat das Teil nur für sich selbst gebaut.
Interessanterweise interessieren sich nun recht viele
Leute dafür und drängen sogar auf Veröffentlichung der
Unterlagen. Niemand erwartet jedoch, damit einen sinnvoll
anwendbaren Computer bauen zu können.
Andreas S. schrieb:> Diejenigen, die einen Blick auf die ...> Projektdateien geworfen haben, wenden sich aber> irgendwann auf Grund der Unbrauchbarkeit ... ab.
Diese Behauptung ist neu.
Wieso sind sie unbrauchbar?
Oder meinst du nicht die VHDL-Dateien, sondern die Doku?
Josef G. schrieb:> Andreas S. schrieb:>> Diejenigen, die einen Blick auf die ...>> Projektdateien geworfen haben, wenden sich aber>> irgendwann auf Grund der Unbrauchbarkeit ... ab.>> Diese Behauptung ist neu.
Nein.
> Wieso sind sie unbrauchbar?>> Oder meinst du nicht die VHDL-Dateien, sondern die Doku?
Du hast den wesentlichen Punkt bei Deinem Zitat unterschlagen:
>> irgendwann auf Grund der Unbrauchbarkeit und Deiner>> Unbelehrbarkeit
Edson schrieb:> Nein, Tom - Du hast nicht begriffen dass Dich das nichts angeht. Das> Forum gehört Andreas und solange er nicht zu Josef sagt, dass er sein> Projekt hier nicht haben will, darf Josef es hier vorstellen. Ob Du das> gut findest oder nicht, spielt keine Rolle - leb damit.
Was erzählst Du da. Ich habe nur festgestellt worin der Spass dieses
merkwürdigen Projekteinhabers besteht. Den gönne ich ihm doch. Das
kannst Du schon daran sehen dass ich selber zu seiner Threadplatzierung
beitrage :)
Klosskopf D. schrieb:> Maik schrieb:> Josef G. schrieb im Beitrag #60> Und? Ein Hinweis auf ein tolles Projekt, während meines Mist ist?>> So ist es. Nachgewiesenermaßen :)>> Was soll der Scheiß? Ich hab das Teil sicher nicht als Schwanzvergleich,> oder zum Vergleich mit anderen Projekten gebaut
Sorry,
aber Josef's Projekt sind ein Haufen Zeilen Code, schlecht dokumentiert
und unübersichtlich, während dein Projekt aus einigen Leiterplatten
besteht, die auch noch optisch gut aussiehen.
Also ja, ist ein Schwanzvergleich! Und deiner ist dabei riesig! :)
Was für ein Niveau... einige Leute sollten sich sowas von schämen hier.
Warum führt man nicht endlich eine Klarnamen-Pflicht im Internet ein,
damit solche widerlichen Auswüchse vermieden werden.
Hat nix mit dem Thema zu tun? Und ob! In diesem Thread geht es viel mehr
um den Umgang miteinander, als um das Projekt selbst inzwischen.
Josef G. kann ich nur raten, dieses toxische Forum zu vermeiden und sich
lieber damit in einem anderen Forum anzumelden. Auf das Niveau hier
sollte sich niemand begeben sollen / müssen:
CodeMichl schrieb:> Also ja, ist ein Schwanzvergleich! Und deiner ist dabei riesig! :)
Auch eine Anwendung für den auf der Grundlinie liegenden
Bindestrich, wie es ihn in meinem Zeichensatz gibt:
als Zeichen zwischen Zahl und Einheit.
Beitrag "Re: Physikalische Größen und Einheiten in der Schule"
Im Unicode scheint es ihn bisher nicht zu geben.
Gefunden habe ich zwar einen Strich auf der Grundlinie,
aber der geht über die volle Breite wie der Unterstrich.
Josef G. schrieb:> Gefunden habe ich zwar einen Strich auf der Grundlinie
Respekt! Und das langt prompt um wieder einen Spitzenplatz in der
Projekte-Hitparade zu belegen. Glückwunsch, Josef! Deine
erfolgsverwöhnte Kreation bleibt im Fokus!
Harald schrieb:> Welche Anwendungen gibt es bereits für das 8-Bit-System?
Eine emulierte 6-Bit CPU. Mit Keilschrift-Zeichensatz, erweitert um
mathematische Formelzeichen.
Es gibt einige Neuerungen am Projekt.
Im Zeichensatz habe ich einige Sonderzeichen neu angeordnet, so
dass eine leicht zu merkende 4-fach-Tastenbelegung möglich wird.
Die Tastaturbelegung ist neu, aber ohne die 4-fach-Belegung.
Bei allen Boards werden jetzt einheitlich nur noch 2 Taster
verwendet. Der DG-Taster ist jetzt Teil der Tastatur, man muss
also zur Bestätigung kritischer Kommandos nicht mehr umständlich
einen Mikrotaster auf dem FPGA-Board gedrückt halten, wenn man
auf der Tastatur Return drückt. Jetzt muss man erst die Escape-
Taste drücken und danach innerhalb von 5 Sekunden die Return-
Taste. Die Escape-Taste wird für nichts anderes verwendet.
Bei den 7-Segment-Anzeigen habe ich jetzt meinen
eigenen Vorschlag für die Ziffern b und d umgesetzt:
Beitrag "Re: Vorschlag zu Hex-Ziffern auf 7-Segment-Anzeigen"
Am vhdl-Code habe ich einiges umgebaut. Anstelle der Dateien
kxxx.vhd für jedes einzelne Board gibt es jetzt eine gemeinsame
Datei kall.vhd für alle Boards. Die Board-abhängige Entity display
habe ich an die einzelnen Dateien pxxx.vhd angehängt. Umgekehrt
habe ich einen funktionell zusammenhängenden und für alle Boards
gleichen Codeblock aus den Dateien pxxx.vhd ausgelagert und in die
Datei kall.vhd aufgenommen. Dadurch ist das Download-File kürzer,
und die Anpassung an ein neues Board sollte jetzt einfacher sein.
Josef G. schrieb:> Im Zeichensatz habe ich einige Sonderzeichen neu angeordnet
Genial. Mit viel Potential für weitere Umordnung.
> Der DG-Taster ist jetzt Teil der Tastatur
Äußerst praktisch. Wer hätte daran gedacht?
> Bei den 7-Segment-Anzeigen habe ich jetzt meinen> eigenen Vorschlag für die Ziffern b und d umgesetzt
Unglaublich clever. Das macht es viel schöner!
> Dadurch ist das Download-File kürzer
Spart jetzt Unmengen an Datenverkehr!
Also wirklich Josef, wieder jeder Schuss ein Treffer! Weiter so!
Nick M. schrieb:> Harald schrieb:> Welche Anwendungen gibt es bereits für das 8-Bit-System?>> Eine emulierte 6-Bit CPU.
Gibt es dafür bereits ein fertiges Betriebssystem?
Dafür möchte ich gerne Anwendungen schreiben.
Harald schrieb:> Welche Anwendungen gibt es bereits für das 8-Bit-System?
Die einzige bisher existierende "Anwendung", wenn
man es so nennen will, ist Conway's Game of Life.
Aber es steht jedermann frei, eine Anwendung in Gestalt einer
Steckkarten-Software zu programmieren und selber zu vertreiben.
Die Schnittstelle ist sauber definiert und vollständig dokumentiert.
Solange Du den ganzen Kram nur auf etliche Webseiten verteilt und nur
als ZIP-Datei veröffentlichst, wird eh keiner damit arbeiten wollen.
Heutzutage stellt man solche Projekte auf Github o.ä. zur Verfügung und
bieten auch Dritten die Möglichkeit an, dort die eigenen Beiträge
einzuchecken.
Josef G. schrieb:> eine Anwendung in Gestalt einer> Steckkarten-Software zu programmieren und selber zu vertreiben
Träumst Du nach der ganzen vernichtenden Kritik immer noch?
Wer soll Dich mit Deinem Projekt noch ernst nehmen?
Josef G. schrieb:> Aber es steht jedermann frei, eine Anwendung in Gestalt einer> Steckkarten-Software zu programmieren und selber zu vertreiben.
Die Zeiten, in denen Software als Cartridge verkauft wurde, sind nun
aber doch schon sehr lange vorbei. Am ehesten funktioniert sowas auf
Spielekonsolen, aber dafür ist dein System denkbar ungeeignet.
Selbst CP/M kennt das Konzept eines Dateisystems und kann Software aus
verschiedenen Quellen nachladen, auf einem Datenträger speichern und von
dort ausführen.
S. R. schrieb:> Josef G. schrieb:>> Aber es steht jedermann frei, eine Anwendung in Gestalt einer>> Steckkarten-Software zu programmieren und selber zu vertreiben.>> Die Zeiten, in denen Software als Cartridge verkauft wurde,> sind nun aber doch schon sehr lange vorbei.
Der Ersteller einer Software kann diese im Netz, zB. hier,
zum Download anbieten. Vom PC kann man sie über RS232 auf
den 8bit-Rechner übertragen und dort auf SD-Karte sichern.
Derzeit ist nur die Übertragung eines 32K-Blocks möglich.
Die erforderlichen Eigenschaften einer Steckkarten-
Software finden sich auf der Seite SYS-Doku.
Falls die "Steckkarte" eigene Hardware mitbringen soll,
braucht man eine VHDL-Datei mit einer Entity expa4. Die
erforderliche Port-Definition findet sich in der Datei
kall.vhd. Beim inneren Aufbau der Entity kann man sich
an der Entity expa1 (RS232 und SD-Card) orientieren.
> ...> Die erforderlichen Eigenschaften einer Steckkarten-> Software finden sich auf der Seite SYS-Doku.>> Falls die "Steckkarte" eigene Hardware mitbringen soll,> braucht man eine VHDL-Datei mit einer Entity expa4. Die> erforderliche Port-Definition findet sich in der Datei> kall.vhd. Beim inneren Aufbau der Entity kann man sich> an der Entity expa1 (RS232 und SD-Card) orientieren.
Sehr gut! So langsam sollte die Marktreife kommen, bevor es zu spät ist!
Josef G. schrieb:> Der Ersteller einer Software kann diese im Netz, zB. hier,> zum Download anbieten.
Wie schon etliche Male erwähnt und von Dir konsequent ignoriert,
veröffentlicht man heutzutage keine "unfertige", für die
gemeinschaftiche Entwicklung bestimmte Software mehr als nackten
Download irgendwelcher ZIP-Archive oder nackter Dateien, sondern man
nutzt hierfür einen Dienst wie z.B. Github, Gitlab, Sourceforge o.ä.,
und zwar unter Verwendung des dort angebotenen Versionskontrollsystems.
Ich habe Dir sogar angeboten, so etwas für Deinen bo8 auf Github
einzurichten.
Und dann kamst Du und hast Deinen Kram unter der CC-SA zum Download
angeboten. Wie an etlichen Stellen von den entsprechenden Experten
erwähnt, wird für Software (worunter auch VHDL-Beschreibungen fallen)
von der CC-SA ausdrücklich abgeraten, d.h. sowohl von der
Creative-Commons-Organisation als auch z.B. von Github. Und damit
scheiden diese Dienste für die Organisation von Projekten, die auf
Deinem bo8 basieren, schon fast aus.
Anbei ein Screenshot vom Anlegen eines Github-Repositories. Die im
Auswahldialog abgeschnittenen Lizenztypen sind LGPL v3.0, Mozilla 2.0
und The Unlicense.
Es ist dabei völlig egal, ob man nun für eigene Arbeiten eine Entity
namens expa4 anlegen muss oder ob künftig Bit 42 des XYZ-Register eine
neue Bedeutung erhält. Niemand wird bo8 einsetzen, wenn die betreffenden
abgeleiteten Projekte nicht kompatibel zu einer akzeptierten
quelloffenen Lizenz für Software sind.
Andreas S. schrieb:> Wie schon etliche Male erwähnt und von Dir konsequent ignoriert,> veröffentlicht man heutzutage keine "unfertige", für die> gemeinschaftiche Entwicklung bestimmte Software mehr als nackten> Download irgendwelcher ZIP-Archive oder nackter Dateien
Och, wenn mindestens 5 cm Staub drauf liegen, geht auch ein zip-Archiv.
Das schafft Josef doch locker.
Vielleicht interessant für mögliche Mitstreiter:
Irgendwo steht bei den CC-Lizenzbedingungen, dass die
CC-Organisation lediglich den Lizenztext bereitstellt,
aber selber nicht Vertragspartner des Lizenzvertrags
ist. Die Organisation unternimmt nichts bei Verstößen.
Andreas S. schrieb:> Josef G. schrieb:>> Der Ersteller einer Software kann diese im Netz, zB. hier,>> zum Download anbieten.>> Wie schon etliche Male erwähnt und von Dir konsequent ignoriert,> veröffentlicht man heutzutage keine "unfertige", für die> gemeinschaftiche Entwicklung bestimmte Software mehr als nackten> Download irgendwelcher ZIP-Archive oder nackter Dateien, sondern man> nutzt hierfür einen Dienst wie z.B. Github, Gitlab, Sourceforge o.ä.,> und zwar unter Verwendung des dort angebotenen Versionskontrollsystems.> Ich habe Dir sogar angeboten, so etwas für Deinen bo8 auf Github> einzurichten.> Und dann kamst Du und hast Deinen Kram unter der CC-SA zum Download> angeboten. Wie an etlichen Stellen von den entsprechenden Experten> erwähnt, wird für Software (worunter auch VHDL-Beschreibungen fallen)> von der CC-SA ausdrücklich abgeraten, d.h. sowohl von der> Creative-Commons-Organisation als auch z.B. von Github. Und damit> scheiden diese Dienste für die Organisation von Projekten, die auf> Deinem bo8 basieren, schon fast aus.>> Anbei ein Screenshot vom Anlegen eines Github-Repositories. Die im> Auswahldialog abgeschnittenen Lizenztypen sind LGPL v3.0, Mozilla 2.0> und The Unlicense.>> Es ist dabei völlig egal, ob man nun für eigene Arbeiten eine Entity> namens expa4 anlegen muss oder ob künftig Bit 42 des XYZ-Register eine> neue Bedeutung erhält. Niemand wird bo8 einsetzen, wenn die betreffenden> abgeleiteten Projekte nicht kompatibel zu einer akzeptierten> quelloffenen Lizenz für Software sind.
Alles schön und gut, aber man kann niemandem zu seinem Glück zwingen.
Ich finde es schon bewundernswert, dass Josef als "kreatives Genie" (ich
denke, diese Bezeichnung ist schon zutreffend) einfach "sein Ding
macht", wie man so schön sagt. Da können einem Wut-Ober-Ingenieure auch
ab und zu mal ganz schön egal sein :D
Es liegt leider sehr in der Natur des Deutschen, immer allen anderen was
vorschreiben oder sonstwie regulieren zu wollen (DARF DER DAS?? DA WAGT
ER ES DOCH, MEINEN RATSCHLAG ZU IGNORIEREN!!!) Josef, da hilft nur -
Forum wechseln, oder Auswandern - oder eben doch mal einen Ratschlag
befolgen ;-) Gegen Best Practices hat sicherlich keiner was einzuwenden,
und ich denke da sind schon einige gute Tipps dabei... Aber was er nun
damit macht oder nicht, ist ja nun mal seine Sache. Wie dem auch sei -
warum soll Josef nicht sein Ding machen wie er es will. Sein Hobby.
Immerhin wird er von Euch nicht bezahlt, oder ist in keiner sonstigen
Abhängigkeitsbeziehung.
Finde ich schon erstaunlich, wie viel Zeit, Nerven und Energie hier
einige aufwenden, um ihn "bekehren zu wollen". Soll doch jeder glücklich
werden wie er will. Just my 2 cents. Über fehlenden Enthusiasmus über
seine Kreation darf er sich dann natürlich auch nicht wundern. Alles in
Allem find ich das Projekt schon interessant, und da bin ich wohl nicht
der einzige, sonst gäbe es hier nicht so viel Traffic!
Michael W. schrieb:> Alles in Allem find ich das Projekt schon interessant, und da bin ich wohl nicht> der einzige, sonst gäbe es hier nicht so viel Traffic!
Dann kannst Du wohl kaum Projekt und Projektthread in Gänze studiert
haben oder hast etwas ganz gründlich missverstanden.
Anderer Josef schrieb:> Michael W. schrieb:>> Alles in Allem find ich das Projekt schon interessant, und da bin ich wohl
nicht
>> der einzige, sonst gäbe es hier nicht so viel Traffic!>> Dann kannst Du wohl kaum Projekt und Projektthread in Gänze studiert> haben oder hast etwas ganz gründlich missverstanden.
Nööö, das kannst Du bitte schon mir selbst überlassen was ich
interessant find' und was nicht, das weiß ich am Besten :-D
Ich gebe zu, dass ich den Projektthread (und auch das Projekt) nur sehr
oberflächlich studiert habe - mich interessiert insbesondere die
Psychologie in diesem Thread...
Josef G. schrieb:> Die Organisation unternimmt nichts bei Verstößen.
Nicht die Organisation unternimmt etwas, sondern Du könntest gegen
Dritte vorgehen, die auf Deinem Projekt basierende Entwicklungen
vornehmen und unter Lizenzen veröffentlichen, die ggf. in einem
Rechtssystem inkompatibel zu der von Dir gewählten CC BY-SA 4.0 sind.
Und die Besonderheiten des deutschen Rechtssystems lassen es auch zu,
dass sich Dritte in Form von Abmahnungen an rechtlich nicht ganz
sauberen Formulierungen sanieren.
Ein gutes Projekt wird unabhängig von der (zur Schau gestellten)
Plattform erfolgreich sein. Daher ist es unwesentlich, ob dazu ein GIT
existiert oder eben nur zip Dateien oder sogar auch unter welchen
Lizenzbedingungen es steht.
Darüber würde ich mir keine Gedanken machen bzw mich nicht beeinflussen
lassen. Das sind Kleingeister, mehr nicht.
Michael W. schrieb:> Ich gebe zu, dass ich den Projektthread (und auch das Projekt) nur sehr> oberflächlich studiert hab
Das merkt man. Vermutlich ist "oberflächlich" schon stark übertrieben.
Wer von dem Projekt in der Sache tatsächlich überzeugt ist sollte eine
sinnvolle Anwendung nennen können. Bis auf die Freude des Autors selber
an seiner Technologiestudie (und dem ausufernden, immer wieder mit
Nichtigkeiten befeuerten Projektthread) gabs da bislang Null komma
Nichts an Substanz.
Nicht W. schrieb:> Ein gutes Projekt wird unabhängig von der (zur Schau gestellten)> Plattform erfolgreich sein. Daher ist es unwesentlich, ob dazu ein GIT> existiert oder ...
Na das möchte ich aber auch meinen!
Eine buntere Verpackung ändert nichts am Inhalt.
Anderer Josef schrieb:> die Freude des Autors selber an seiner Technologiestudie
Darauf kommt es an und in diesem Punkt ist Josefs Werk auch sehr
bemerkenswert.
Leider beläßt ers nicht dabei, sondern denkt, er müsse die ganze
Menscheit damit beglücken, die davon aber überhaupt nichts wissen will.
Dass er sich dann auch noch in seine Zeichensätze vergaloppiert, in der
Meinung, er würde sein Projekt damit massentauglich machen, kann man
eigentlich nur als tragisch bezeichnen.
Bome, Halbleiter- und Softwaretechnologie sind noch jung und der
Fortschritt ist rasend. Was heute der letzte technische Schrei ist, ist
morgen belächeltes altes Eisen – das sind keine guten Voraussetzungen,
sich selbst ein technisches Denkmal zu setzen und wenn man als Schöpfer
des Werkes das nicht zur Kenntnis nehmen will, macht man sich einfach
nur lächerlich. Da gehen alle anderen Qualitäten, die man sonst noch hat
einfach im Gelächter unter…
Es steht ja nach wie vor dieser Vorschlag hier im Raum:
Andreas S. schrieb:> Eigentlich wäre doch jetzt der richtige Zeitpunkt gekommen, an dem Du> Deine Erfahrungen in Sachen Prozessorentwurf, die hier aufgeführten> Kritiken und Anmerkungen sowie den aktuellen Stand der Technik> zusammenführen und noch einmal ganz von vorne einen neuen Prozessor> entwerfen könntest.
Ich halte dies für eine vernünftige Idee. Man hat ein Projekt gemacht,
man hat dabei Erkenntnisse gewonnen und Erfahrungen gesammelt. Nun ist
es aber an der Zeit, dieses Projekt auch einmal abzuschließen und ein
neues zu beginnen.
Das Wissen und die Erfahrung, die man dadurch gewonnen hat, ist ja nicht
für umsonst. Ganz im Gegenteil: Jetzt weiß man erst recht, wie man es
besser machen kann.
Learning by doing. :-)
Mark B. schrieb:> Ich halte dies für eine vernünftige Idee. Man hat ein Projekt gemacht,> man hat dabei Erkenntnisse gewonnen und Erfahrungen gesammelt. Nun ist> es aber an der Zeit, dieses Projekt auch einmal abzuschließen und ein> neues zu beginnen.
Na Ihr hattet ja selbst auch schon die Analogie zur Modell-Eisenbahn...
die wird eben NIE FERTIG, weil DER WEG DAS ZIEL IST ;-)
Und das ist eben der ganz wesentlich Unterschied zu einem "echten"
Projekt, wo es Deadline, Milestones etc. gibt. Es ist halt ein Hobby. Es
SOLL gar nicht fertig werden ;-)
Michael W. schrieb:> Und das ist eben der ganz wesentlich Unterschied zu einem "echten"> Projekt, wo es Deadline, Milestones etc. gibt. Es ist halt ein Hobby. Es> SOLL gar nicht fertig werden ;-)
Ja nun gut, aber... wenn man als Hobby zum Beispiel Musik hat, dann
singt man ja auch nicht immer die gleichen drei Lieder? ;-)
Uhu U. schrieb:> Dass er sich dann auch noch in seine Zeichensätze vergaloppiert,
Die Einführung des hexadezimalen Ziffernsatzes
war von Anfang an das Ziel des ganzen Projekts.
Ich frage mich gerade, warum diejenigen, die sich über ein
gelegentliches Update (d.h. eine stattgefundene Veränderung) von Josef
aufregen, weil es den Thread hochholt...
...dann den Thread über Tage und Wochen oben halten, in der immer
gleichen Diskussion darüber, dass das Projekt sinnlos sei.
Andreas S. schrieb:> Josef G. schrieb:>> Die Einführung des hexadezimalen Ziffernsatzes>> war von Anfang an das Ziel des ganzen Projekts.>> 8-O> .> .> .> :-/> .> .> .> |-|
Konrad Zuse wurde auch das Patent fuer den Computer verweigert.
Josef G. schrieb:> Uhu U. schrieb:>> Dass er sich dann auch noch in seine Zeichensätze vergaloppiert,>
Das Zitat lautet vollständig:
Uhu U. schrieb:> Dass er sich dann auch noch in seine Zeichensätze vergaloppiert, in der> Meinung, er würde sein Projekt damit massentauglich machen, kann man> eigentlich nur als tragisch bezeichnen.Josef G. schrieb:> Die Einführung des hexadezimalen Ziffernsatzes> war von Anfang an das Ziel des ganzen Projekts.
Dass du nichtmal selbst im täglichen Leben im Hex-System rechnest und
denkst, sollte dir eigentlich schwerstens zu denken geben…
Wenn du glaubst, du könntest auf diesem Weg die Menschheit nebenbei auch
noch dazu bewegen, vom Dezimal- aufs Hexadezimalsystem umzusteigen, kann
man das nur noch als tragisch zum Quadrat bezeichnen…
Mark B. schrieb:> Nun es aber an der Zeit, dieses Projekt auch einmal abzuschließen und ein> neues zu beginnen.
Der Zeitpunkt ist längst überfällig.
> Deine Erfahrungen in Sachen Prozessorentwurf, die hier aufgeführten> Kritiken und Anmerkungen sowie den aktuellen Stand der Technik> zusammenführen und noch einmal ganz von vorne einen neuen Prozessor> entwerfen könntest.
Wieder eine neue CPU die die Welt nicht braucht?
S. R. schrieb:> ...dann den Thread über Tage und Wochen oben halten, in der immer> gleichen Diskussion darüber, dass das Projekt sinnlos sei.
Wer permanent einen Sinn unterstellt obwohl er nicht mal selbst eine
sinnvolle Anwendung nennen kann den darf man in seinem Auftreten nicht
permanent hinterfragen? Daß dieser Thread oben bleibt dafür sorgt schon
der Projektinhaber mit allerhand hochwichtigen Meldungen, das ist so
sicher wie das Amen in der Kirche.
Uhu U. schrieb:> Wenn du glaubst, du könntest auf diesem Weg die Menschheit nebenbei auch> noch dazu bewegen, vom Dezimal- aufs Hexadezimalsystem umzusteigen, kann> man das nur noch als tragisch zum Quadrat bezeichnen…
Tragödie? Eher Schwachsinn im Quadrat.
Uhu U. schrieb:> Wenn du glaubst, du könntest auf diesem Weg die Menschheit nebenbei auch> noch dazu bewegen, vom Dezimal- aufs Hexadezimalsystem umzusteigen, kann> man das nur noch als tragisch zum Quadrat bezeichnen…
Tragisch zum Quadrat ist sicher, wieviel Zeit du aufwendest um hier
rumzuheulen, über etwas das dir doch vollkommen egal sein kann.
S. R. schrieb:> Ich frage mich gerade, warum diejenigen, die sich über ein> gelegentliches Update (d.h. eine stattgefundene Veränderung) von Josef> aufregen, weil es den Thread hochholt...>> ...dann den Thread über Tage und Wochen oben halten, in der immer> gleichen Diskussion darüber, dass das Projekt sinnlos sei.
Das ist ganz ähnlich wie bei Andreas Schwarz: Wir geben die Hoffnung
nicht auf, dass auf der Gegenseite eines Tages eine sinnvolle Reaktion
geschieht. :-)
Dubbel Dubb schrieb:>>...dass auf der Gegenseite eines Tages eine sinnvolle Reaktion geschieht.>> Und was habt ihr davon?
Dann wissen wir, dass die Interaktion mit anderen Menschen in diesem
Forum nicht umsonst war.
Josef G. schrieb:> Nick M. schrieb:>> Ich find das Projekt blöd.>> Warum?
Wer ein Projekt blöd findet, sollte einfach nicht mitmachen und sich aus
der Diskussion raushalten statt den thread zuzulabern. Im realen Leben
mischen wir uns auch nicht in Diskussionen anderer ein, und kommentieren
alles, ohne einen Bezug dazu zu haben.
Oder für die ganz Dummen:
Ich diskutiere auch nicht in Foren über den Sinn und Unsinn von
selbstgebauten (statt gekauften) Modelbahnzügen in Sonderspuren (statt
H0), wenn ich selber keinen Bezug zu dem Hobby habe und Eisenbahnen
blöde finde.
Das sind einfach Hobbies, die keinen praktischen Wert haben und haben
müssen, außer eben, dem Nutzer Spass zu bringen.
Statt dumm über andere abzulästern, sollte man selber in den Keller
gehen und etwas bauen, um Anerkennung zu bekommen oder die Klappe
halten!
@Nick: Wie wäre es mit einem 256Bit-Computer?
M. W. schrieb:> tatt dumm über andere abzulästern, sollte man selber in den Keller> gehen und etwas bauen, um Anerkennung zu bekommen oder die Klappe> halten!
Du solltest schon meinen ganzen Beitrag lesen (auch wenn du das nicht
als Beitrag siehst).
Es ging um das ständige Gemeckere der $Nörgler.
Ich hab zum TO gesagt, dass er jedenfalls Durchhaltewille bezeugt. Und
das ist schon oft genug eine Ausnahme (und gegen die ständigen Nörgler
gerichtet).
Nur damit Du es auch verstehst:
Ich find es blöd, aber mein Respekt für den Durchhaltewillen. Gut so?
Ja, ich find auch Eisenbahnen blöd, das heißt noch lang nicht, dass sie
blöd sind. Ich hab auch recht blöde Hobbies. Die kann jeder gerne blöd
finden.
> @Nick: Wie wäre es mit einem 256Bit-Computer?
Ich überleg schon länger an einem rum. Wären aber 16 Bit. Ist aber auch
reichlich belanglos. Mir geht es dabei ums Lernen, um sonst nichts. Und
wenn das 99.99% blöd finden, das ist kein Argument mich davon
abzuhalten.
Josef G.
> Warum?
Allein schon wegen der seltsamen Tastatur und dem Hex-Zeichensatz. Das
soll dich aber nicht abhalten! Mach ruhig weiter, ich bin nicht das Maß
aller Dinge.
Nick M. schrieb:> aber mein Respekt für den Durchhaltewillen
Das blinde Festhalten an solchen Machbarkeitsstudien bar jeden
praktischen Nutzens verdient Mitleid aber keinen Respekt.
Respektabel wäre es, endlich den technischen Unfug als solchen zu
erkennen und mit seinen Fähigkeiten mal was sinnvolles anzustellen.
Werner schrieb:> Daß dieser Thread oben bleibt dafür sorgt schon> der Projektinhaber mit allerhand hochwichtigen Meldungen,> das ist so sicher wie das Amen in der Kirche.
Wenn ich mich nicht verzählt habe, hat Josef von den letzten 25
Beiträgen ungefähr zwei verfasst. Macht 8% Aufwand für 100% "Thread
bleibt oben".
So eine Rendite hätte ich auch gerne. :-)
S. R. schrieb:> So eine Rendite hätte ich auch gerne.
Ob die vielen anderen Beiträge aber in seinem Sinne waren?
Rendite fühlt sich irgendwie anders an :)
Hans schrieb:> Fähigkeiten mal was sinnvolles anzustellen.
Was ist denn bei dir "etwas Sinnvolles"? (Man beachte die Großschrift,
wenn wir schon Rechtschreibung anmeckern)
Die Geschichte ist doch nur ein Hobby. Damit ist sie per Definition
"sinnvoll".
Außerdem: Wenn pensioniert Entwickler daheim im Keller 8-Bit-Computer
bauen, dann bevölkern sie nicht morgens die Supermarktkassen und
blockieren die Werktätigen.
M. W. schrieb:> Die Geschichte ist doch nur ein Hobby. Damit ist sie per Definition> "sinnvoll".
Nein, das ist sie eben nicht. Josef will den bo8 doch mit voller Kraft
in den Markt drücken.
Andreas S. schrieb:> Nein, das ist sie eben nicht. Josef will den bo8 doch mit voller Kraft> in den Markt drücken.
…und das Hexadezimalsystem allgemeinverbindlich einführen.
Josef G. schrieb:> Uhu U. schrieb:> und das Hexadezimalsystem allgemeinverbindlich einführen.>> Nein, nicht verbindlich. Es wird sich von selbst durchsetzen.
Na also. Dann brauchts Dein Produkt dafür auch nicht.
Brom Beere schrieb:> Na also. Dann brauchts Dein Produkt dafür auch nicht.
Mit "von selbst" meinte ich: ohne Zwang.
Und ja, es wird sich früher oder später
auch ohne mein Produkt durchsetzen.
Aber mein Produkt könnte dazu beitragen,
dass es etwas schneller geht.
Josef G. schrieb:> Und ja, es wird sich früher oder später> auch ohne mein Produkt durchsetzen.>> Aber mein Produkt könnte dazu beitragen,> dass es etwas schneller geht.
Du bist wirklich lustig.
Aber soll doch jeder glauben was er will.
Nur wissen solltest Du langsam, daß sich mit dem Produkt selber auf
Dauer nur einer allein beschäftigt.
Josef G. schrieb:> Nein, nicht verbindlich. Es wird sich von selbst durchsetzen.
Es wird sich genau dann durchsetzen, wenn irgendein Gen aktiviert wird,
das bei einem Großteil der Weltbevölkerung zur Oktodaktylie führt. Und
dann auch erst mit zweihundert Jahren Verzögerung.
Andreas S. schrieb:> Nein, das ist sie eben nicht. Josef will den bo8 doch mit voller Kraft> in den Markt drücken.
Welcher seiner Aussagen ist das wo zu entnehmen?
Welcher Markt soll einen selbstgebauten 8Bit-Rechner aufnehmen, wenn es
fertige MicroBlaze-Umgebungen mit SDK gibt?
Josef G. schrieb:> Uhu U. schrieb:>> und das Hexadezimalsystem allgemeinverbindlich einführen.> Nein, nicht verbindlich. Es wird sich von selbst durchsetzen.
Das Hexadezimalsystem hat sich ja schon durchgesetzt und seinen Bereich
erobert (?) Zumindest dort, wo es taugt.
Im allgemeinen Leben wird das auf Dauer das durchsetzen, was die meisten
mehrheitlich benutzen. Benutzen die Chinesen das Dezimalsystem?
Markus W. schrieb:> Benutzen die Chinesen das Dezimalsystem?
Andere, als das Dezimalsystem gibts nur noch in speziellen Nischen:
Zeit, Winkelmessung. Daneben gibt es noch alte Bezeichnungen wie
Dutzend, Schock, Gros und Maß, die aber – außer dem Dutzend – nicht mehr
gebräuchlich sind.
Selbst die Briten bezahlen mittlerweile mit £ zu je 100 Pence.
Uhu U. schrieb:> Daneben gibt es noch alte Bezeichnungen wie Dutzend, Schock, Gros> und Maß, die aber – außer dem Dutzend – nicht mehr gebräuchlich sind.
"Hierzulande". In anderen Ländern gibt es durchaus noch andere
Gruppierungen und Bezeichnungen, und nichtmetrische Maßsysteme mit ihren
seltsamen Faktoren haben auch ihren Anteil daran.
S. R. schrieb:> und nichtmetrische Maßsysteme mit ihren seltsamen Faktoren
Das US-Zoll mit seinen Vierteln, Achteln usw. könnte eine der
Keimzellen für die Verbreitung des Hexadezimalsystems werden.
Aber ich weiss nicht, ob es gut ist, auch in diesem Thread
eine große Diskussion über das Hexadezimalsystem zu führen.
Leider ist folgender Thread schon älter und man kann ihn
nicht mehr nach vorne holen, ohne dass er gesperrt wird.
Beitrag "Einführung des Hexadezimalsystems"
Josef G. schrieb:> Das US-Zoll mit seinen Vierteln, Achteln usw. könnte eine der> Keimzellen für die Verbreitung des Hexadezimalsystems werden.
Auf solche absurden Ideen kommt wohl nur ein totaler Nerd im
Elfenbeiturm. Hast Du keine anderen Sorgen?
Josef G. schrieb:> die Verbreitung des Hexadezimalsystems
Das Hexadezimalsystem ist schon verbreitet. Jeder der mit Computern,
Informatik etc. zu tun hat kennt es.
Für den Bäcker nebenan oder den Klempner um die Ecke ist es schlicht
uninteressant. Damit etwas Neues sich durchsetzen kann, muss es Vorteile
gegenüber dem Alten bieten. Und das eben nicht nur für Informatiker.
Wo genau sollen diese Vorteile für Otto Normalverbraucher liegen?
Mark B. schrieb:> Wo genau sollen diese Vorteile für Otto Normalverbraucher liegen?
Bei ständiger Anwendung des Hexadezimalsystems wachsen ihm irgendwann
durch die evolutionäre Entwicklung 16 Finger - an jeder Hand 8. Das
macht bestimmt vieles einfacher.
Das Wort Hexadezimalsystem ist sperrig und erweckt den
Eindruck, dass dieses Zahlensystem etwas künstliches sei.
Etwas kürzer wäre das Wort Sedezimalsystem. Man könnte
das noch ein wenig abkürzen und Sedimalsystem sagen.
Das hätte die gleiche Länge wie das Wort Dezimalsystem.
Josef G. schrieb:> und erweckt den Eindruck, dass dieses Zahlensystem etwas künstliches sei.
Das ist es ja auch. In der Geschichte der Menschheit gab es keine
Kultur, in der das Hexadezimalsystem je für den täglichen Gebrauch
verwendet wurde.
Josef G. schrieb:> Etwas kürzer wäre das Wort Sedezimalsystem.
Wow, Josef steigt ins Marketing ein… Bis er ein richtiger
Etikettenschwindler ist, muss er aber noch mächtig üben ;-)
Mark B. schrieb:> Josef G. schrieb:>> und erweckt den Eindruck, dass dieses Zahlensystem etwas künstliches sei.>> Das ist es ja auch.
Historisch vielleicht.
Mathematisch ist es nicht künstlicher als das Dezimalsystem, oder
sogar natürlicher und weniger willkürlich als das Dezimalsystem.
Mark B. schrieb:> Josef G. schrieb:> und erweckt den Eindruck, dass dieses Zahlensystem etwas künstliches> sei.>> Das ist es ja auch. In der Geschichte der Menschheit gab es keine> Kultur, in der das Hexadezimalsystem je für den täglichen Gebrauch> verwendet wurde.
Bei mir ist gerade mein Bruder und ich habe ihn gefragt warum bis heute
nur das Dezimalsystem genutzt wird und nicht etwa ein Hexadezimalsystem.
Er hat kurz etwas gelacht und mir dann erklärt warum Dezimalsystem. Kurz
gesagt: weil wir 10 "Knubbel" an den Händen haben. Er ist übrigens
Kulturforscher.
Joseph: egal wie lange du hoffst, das Hexsystem wird nie kommen! Du
darfst gerne deine Zeit und Energie damit verschwenden das Gegenteil zu
wollen. Es gibt Dinge beim Menschen die du akzeptieren musst. Da hilft
weder Beten, Hoffen oder Befehlen.
Ich werde deine Kommentare dennoch weiterhin verfolgen. Find ich lustig
das du weiter machst.
"Konsequenz" bedeutet auch dass man Holzwege zuende geht.
Josef G. schrieb:> Man könnte das noch ein wenig abkürzen und Sedimalsystem sagen.
Der Name soll wohl Programm sein: "sedimal" ist ein Anagramm von
"misdeal" oder "mislead" :)
Michael schrieb:> "Konsequenz" bedeutet auch dass man Holzwege zuende geht.
Dieser Holzweg ist endlos… Aber Josef wird ihn sicherlich 6-spurig
ausbauen.
Michael schrieb:> Er hat kurz etwas gelacht und mir dann erklärt warum Dezimalsystem. Kurz> gesagt: weil wir 10 "Knubbel" an den Händen haben. Er ist übrigens> Kulturforscher.
Dann hätte er konsequenterweise aber auch erklären müssen, woher das
Zwölfersystem stammt, auf dem ja auch heutzutage Zeit- und Winkelangaben
basieren. Man kann nämlich mit dem Daumen auf jedes der Glieder der vier
anderen Finger zeigen, was insgesamt zwölf ergibt. Die hiervon
abgeleitete Sechzigeraufteilung für Minuten und Sekunden basiert darauf,
an einer Hand mit dem Daumen bis zwölf zu zählen und mit den fünf
Fingern der anderen Hand bis fünf, so wie heute noch gebräuchlich.
So auf geht's, Josef! Nicht lang rumtrödeln.
Die nächste Wasserstandsmeldung zu Deinem Projekt ist gefragt. Wenn dann
hilfst Du damit dem Hex-System und Deinen großartigen Zeichensätzen zum
weltweiten Durchbruch!
Beitrag "Re: Vorschlag zu Hex-Ziffern auf 7-Segment-Anzeigen"
Ein noch nicht genannter Vorteil des Hexadezimalsystems
gegenüber dem Oktalsystem: Im Hexadezimalsystem gilt
für die Teilbarkeit durch drei die Quersummenregel,
im Oktalsystem gilt sie nicht.
Josef G. schrieb:> Ein noch nicht genannter Vorteil des Hexadezimalsystems> gegenüber dem Oktalsystem: Im Hexadezimalsystem gilt> für die Teilbarkeit durch drei die Quersummenregel,> im Oktalsystem gilt sie nicht.
Sehr schön Josef.
Bist wieder oben auf.
Aber bitte bleib beim Thema.
Hier gehts um Dein Projekt!
Sagt mal: lernen neue Elektroniker und Programmierer noch solche
Grundlagen wie die alten 8-Bit-Prozessoren mit ihren externen Bussen und
Bausteinen ? Oder sind das nur ein paar Seiten die man in einer
Unterrichtsstunde durchzieht ? Damit man danach gleich zu Arduino und
C++ gehen kann ? :-)
Josef G. schrieb:> Josef G. schrieb:>> im Oktalsystem gilt sie nicht.>> Es gilt die alternierende Quersummenregel.> Auch nicht viel komplizierter, zugegeben.
Redest Du sonst auch viel mit Dir selbst?
> Josef G. schrieb:> Die Einführung des hexadezimalen Ziffernsatzes> war von Anfang an das Ziel des ganzen Projekts.
Du wirst mit Deiner (zu nichts anderem als persönlichem Vergnügen
taugenden) FPGA-CPU weder etwas "einführen" noch irgend etwas beenden.
Das Gespött als Quittung solcherlei missionarischen Wahns tut noch ihr
übriges. Wie lange willst Du diesen Irrsinn hier noch zur Schau stellen?
Dein 6spuriger Holzweg führt zu keinem guten Ende :(
Jörn H. schrieb:> Wie lange willst Du diesen Irrsinn hier noch zur Schau stellen?
Nun lasst ihn doch. Wenn er Freude bei hat...
Wer auf so vielen Channels taub ist dem ist über die verbliebenen oft
nicht mehr zu vermitteln welcher hahnebüchener Unsinn da propagiert
wird.
Und so wird, wenn er nicht gestorben ist, auch morgen wieder die gleiche
Platte laufen. In beständiger Gier nach Aufmerksamkeit. Ganz egal
welcher.
Frohe Weihnacht!
An die anonymen Kritiker:
Warum lest ihr hier noch mit? Warum bleibt ihr nicht einfach weg?
Habt ihr Angst, es könnte sich doch noch ein Mitstreiter finden, wenn
ihr nicht ständig den Eindruck erwecken würdet, das Projekt sei Mist?
Habt ihr eigene Interessen, die ihr durch das Projekt gefährdet seht?
Josef G. schrieb:> Es gilt die alternierende Quersummenregel.> Auch nicht viel komplizierter, zugegeben.
Und wozu braucht man in der Computerei Teilbarkeitskriterien?
Guido schrieb:> Denn die Krise des Dezimal-Systems ist eines ihrer drängensten Probleme!
Und vor allem gibt es eine geheimnisvolle Mafia, die alle anderen
Zahlensysteme bekämpft. Besonders militante Agenten dieser Mafia sind
die Bäcker, die sich strikt weigern, Brötchen anders als dezimal
abzuzählen!
Uhu U. schrieb:> Und vor allem gibt es eine geheimnisvolle Mafia, die alle anderen> Zahlensysteme bekämpft.
Diese sieht sich durch Josef's Projekt besonders bedroht!
Josef G. schrieb:> Habt ihr eigene Interessen, die ihr durch das Projekt gefährdet seht?
Uhu U. schrieb:> die Bäcker, die sich strikt weigern, Brötchen anders als dezimal> abzuzählen!
Deshalb hat Josef auch das Brötchenessen aufgegeben. Der Bäcker sieht
ihn jedes mal so komisch an wenn er in den Laden kommt und "0A" Brötchen
haben will...
Josef G. schrieb:> ständig den Eindruck erwecken würdet, das Projekt sei Mist?
Tatsachen sind mehr als nur "Eindrücke".
> Habt ihr eigene Interessen, die ihr durch das Projekt gefährdet seht?
Verschwörungstheoretiker ist er also auch noch.
Mensch Josef, wie tief willst Du hier noch sinken?
Josef G. schrieb:> Ein noch nicht genannter Vorteil des Hexadezimalsystems> gegenüber dem Oktalsystem: Im Hexadezimalsystem gilt> für die Teilbarkeit durch drei die Quersummenregel,> im Oktalsystem gilt sie nicht.
Im Zeitalter des Taschenrechners verlieren die Teilbarkeitsregeln zwar
an Bedeutung, aber wenn sie für dich dennoch wichtig sind, solltest du
über das 21er-System nachdenken. Dort gibt es einfache Regeln für alle
Teiler durchgehend von 1 bis 12. Im Hexadezimalsystem wird es schon bei
der Teilbarkeit durch 7 komplizierter.
Josef G. schrieb:> An die anonymen Kritiker:> Warum bleibt ihr nicht einfach weg?
Ich übersetze mal:
Kritik, warum bleibst Du nicht einfach weg?
Weil Du hier in einem öffentlichen Forum bist, Josef.
Du suchst die öffentliche Meinung und bekommst sie.
Wenn das Echo aber dermaßen verheerend ausfällt solltest
Du Dich IMMER zuerst an die eigene Nase fassen.
Wenn Du partout keine Kritik und keinen Widerspruch haben willst
schreib Deine Beiträge einfach in Dein Tagebuch. Die Wirkung ist
dort auch nicht geringer!
Manfred F. schrieb:> Der Bäcker sieht ihn jedes mal so komisch an wenn er> in den Laden kommt und "0A" Brötchen haben will...
Ich kaufe immer 4 oder 8, manchmal
auch 6, aber niemals fünf oder zehn.
Josef G. schrieb:> Ich kaufe immer 4 oder 8, manchmal> auch 6, aber niemals fünf oder zehn.
DIR glaube ich das sofort.
Einfach ein 1A Psycho Thread.
Du bist schon echt ne one man show.
Feinster sozial isolierter Supernerd wie er in keiner Doku noch
glaubhaft dargestellt werden könnte.
Die Realität kann eben einfach bizarrer sein als jede Fantasie.
Deine Kontrahenten sind da keinen Deut besser.
Ebenso wahnhaft verbissen, ebenso unfähig auch nur einen cm zu weichen.
Deine völlige Loslösung von jeglicher Argumentation erreichen sie nicht,
aber es kann nur einen Meister geben.
Ich schreibe das extra anonym, damit mir dieser Thread nicht die
nächsten Jahre ständig in meinen Beiträgen herumgeistern.
Aber sei unbesorgt.
Ihr seid alle nicht ganz dicht und zum totlachen.
Jeder der noch klar bei Verstand ist, hat schon vor sehr langer Zeit das
Weite gesucht.
Einige gute leute von denen man hier schon Jahre nichts mehr gehört hat.
Gut für die, weil es hier wirklich keinen Blumentopf zu gewinnen gibt.
Ebenso könntest Du davon überzeugt sein Jesus Christus zu sein.
Nichts auf dieser Welt könnte Dich davon abbringen das zu glauben.
Nur die neuen und die verbohrten haben das noch nicht verstanden und
tummeln sich hier.
Andere zählen ihre Cornflakes und essen nur durch 21 teilbare Mengen,
oder sie waschen sich 60 Mal am tag die Hände mit scharfen Waschmittel,
bis die Pelle runter ist.
Du baust an der BO8, träumst von der BO8 im ASIC und bist überzeugt das
Hex system würde sich tatsächlich durchsetzten.
Unterhaltsamer, weniger schädlich aber kein Stück weniger Psycho.
Also Glückauf und hau rein.
Gibt ja ohnehin nichts was Dich davon abhalten könnte diesem
galoppierenden Irrsin weiter zu frönen.
Lieber Anonym schrieb:> weil es hier wirklich keinen Blumentopf zu gewinnen gibt
Stimmt. Auch für Dich nicht. Ein Beitrag der vom Meister ungehört
verhallen wird, wie die meisten anderen. Entscheidend nur die Publicity,
die zählt.
Lieber Anonym schrieb:> Ihr seid alle nicht ganz dicht und zum totlachen.
Du hast das Spiel nicht verstanden… Begeben Sie sich ins Gefängnis und
sitzen Sie dort die nächsten 3 Runden ab. Gehen Sie nicht über Los,
kassieren Sie keine 4000 $.
> weil es hier wirklich keinen Blumentopf zu gewinnen gibt.
Du bist wohl völlig vom Neoliberalismius dahingerafft. Wo gibts denn im
Hobby-Bereich Blumentöpfe zu gewinnen?
Lieber Anonym schrieb:> Ich schreibe das extra anonym, damit mir dieser Thread nicht die> nächsten Jahre ständig in meinen Beiträgen herumgeistern.
Elender Feigling…
Lieber Anonym schrieb:> Ihr seid alle nicht ganz dicht und zum totlachen.
Das sass anscheinend zumindest beim Uhu. Gut so, denk mal drüber nach
über die Feiertage.
Schnauze schrieb:> Lieber Anonym schrieb:> Ihr seid alle nicht ganz dicht und zum totlachen.>> Das sass anscheinend zumindest beim Uhu. Gut so, denk mal drüber nach> über die Feiertage.
Dass Dich die Aussage mit einschließt hast Du wohl nicht bedacht :-)
Schnauze schrieb:> Das sass anscheinend zumindest beim Uhu. Gut so, denk mal drüber nach> über die Feiertage.
Auch du hast offensichtlich das Spiel nicht verstanden…
Jörn H. schrieb:> Dein 6spuriger Holzweg führt zu keinem guten Ende :(
Nun, auch ein sechsspuriger Holzweg ist ein Weg... und vermutlich in
besserem Zustand als so manche deutsche Autobahn, die ich die letzten
Wochen befahren habe. Und das Ende kann mit der A14 bei Karstädt
konkurrieren. Insofern ist Josef da in guter Gesellschaft.
losgelöst schrieb:> In beständiger Gier nach Aufmerksamkeit.
Diese Gier nach Aufmerksamkeit scheint eher von den anonymen
Alko...äh...postern zu kommen als von Josef selbst.
Genau schrieb:> Sagt mal: lernen neue Elektroniker und Programmierer noch solche> Grundlagen wie die alten 8-Bit-Prozessoren mit ihren externen> Bussen und Bausteinen ?
Ich habe ein "typisches 8 Bit-System" in meiner Vorlesung mehrmals an
der Tafel skizziert und als Beispiel verwendet, weil daran bestimmte
Dinge einfacher erklärt werden können als in einem aktuellen
Mikrocontroller.
Das Interrupt-System eines Cortex-M3 ist schließlich genauso modelliert,
wie in einem besseren Z80/i86. Nur, dass Peripherie,
Interrupt-Controller und CPU-Interruptflag (die man alle getrennt
konfigurieren muss) jetzt in einem Chip stecken, wo das alles mehr
verwirrt als nützt, wenn man nicht weiß, wo das herkommt.
Auch der 8 Bit-Bus ist ein prima Beispiel für eine reale Implementation
eines Bussystems. Allerdings macht man kein Systemdesign mit den realen
74er-Bausteinen mehr - das ist Zeitverschwendung.
> Oder sind das nur ein paar Seiten die man in einer> Unterrichtsstunde durchzieht ?
In Digitaltechnik gehören Binär- und Hexadezimalsystem genauso zum
Unterrichtsstoff, wie es auch Flipflops und Grundgatter tun. Aber nur
die Logik dahinter, nicht die realen Chips.
Und ja, gelegentlich werden in der Klausur bei uns auch binäre und
hexadezimale Addition/Subtraktion verlangt. Wobei es mir egal ist, ob
die Studenten das vorher ins Dezimalsystem umrechnen oder nicht (Hint:
für binäre Berechnungen machen das einige, für Hexadezimalzahlen
keiner.)
> Damit man danach gleich zu Arduino und C++ gehen kann ? :-)
Bei uns: Arduino und ARM-Assembler (mit JTAG, ohne Arduino-Software).
Solange man da keine SRAMs oder Peripheriebausteine anschließt, braucht
man die auch nicht theoretisch abhandeln. Das bleibt sowieso nicht
hängen, und zumindest in meinem (Erstsemester-)Kurs ist das größere
Risiko, dass ein paar LEDs den Überstromtod sterben. In den Folgekursen
bessert sich das.
S. R. schrieb:> In Digitaltechnik gehören Binär- und Hexadezimalsystem> genauso zum Unterrichtsstoff,
Und jetzt stelle man sich eine Welt vor, in der das gar nicht
nötig wäre, weil schon die Kinder es in der Grundschule lernen
anstelle des Dezimalsystems. Oder was wäre mit den unzähligen
Seiten im Netz, welche den Leuten das Hexadezimalsystem
erklären. Alles überflüssig. Nicht auszudenken.
Josef G. schrieb:> S. R. schrieb:>> In Digitaltechnik gehören Binär- und Hexadezimalsystem>> genauso zum Unterrichtsstoff,>> Und jetzt stelle man sich eine Welt vor, in der das gar nicht> nötig wäre, weil schon die Kinder es in der Grundschule lernen> anstelle des Dezimalsystems.
Ist mir natürlich klar, dass das nur einen winzigen
Zipfel eines Digitaltechnik-Kurses ausmacht.
S. R. schrieb:> Diese Gier nach Aufmerksamkeit scheint eher von den anonymen> Alko...äh...postern zu kommen als von Josef selbst.
Und von solchen die einen nur Projektthread missbrauchen um ihre eigenen
Sachen zu promoten!
> Ich habe ein "typisches 8 Bit-System" in meiner Vorlesung> Und ja, gelegentlich werden in der Klausur bei uns> Bei uns: Arduino und ARM-Assembler (mit JTAG, ohne Arduino-Software).> zumindest in meinem (Erstsemester-)Kurs
Josef G. schrieb:> Und jetzt stelle man sich eine Welt vor, in der das gar nicht> nötig wäre, weil schon die Kinder es in der Grundschule lernen> anstelle des Dezimalsystems. Oder was wäre mit den unzähligen> Seiten im Netz, welche den Leuten das Hexadezimalsystem> erklären. Alles überflüssig. Nicht auszudenken.
Die Sozialisation mit dem Dezimalsystem beginnt aber nicht erst in der
Schule. Kinder lernen schon lange davor Abzählreime beim Spielen. Und
die basieren, wen wundert's, auf den zehn Fingern die der Mensch an
seinen Händen hat.
dezimal ist sexy schrieb:> Das werden gewisse Nerds nie begreifen.
Kulturgeschichte, Sozialwissenschaft
Hat alles seinen Stellenwert
Auch wenn dies hart ignoriert wird
Von manchem 8bit-Computer Nerd
;-)
Für Kinder am einfachsten wäre es vermutlich, zunächst das
Vierersystem zu lernen und dann Hex-Ziffern als abkürzende
Schreibweise für zwei Vierer-Ziffern aufzufassen.
Josef G. schrieb:> Für Kinder am einfachsten wäre es vermutlich, zunächst das> Vierersystem zu lernen und dann Hex-Ziffern als abkürzende> Schreibweise für zwei Vierer-Ziffern aufzufassen.
Gehts nicht noch etwas komplizierter? Vielleicht mit dem Zweiersystem
anfangen und sich langsam hocharbeiten?
Ich möchte wirklich wissen was in deinem Kopf so vorgeht. Muss für
Psychologen doch hochinteressant sein.
Karl schrieb:> Ich möchte wirklich wissen was in deinem Kopf so vorgeht. Muss für> Psychologen doch hochinteressant sein.
Einem Blinden die Farbe zu erklären dürfte ähnlich herausfordernd sein.
Er lebt in seiner digitalen Welt. Dort ist die hexadezimale Schreibweise
in der Tat überzeugend anzuwenden. Und alles entwickelt sich in diese
Richtung. Die menschliche Evolution ist definitiv weiter im Gange. Das
Analoge scheint zunehmend an Bedeutung zu verlieren. Haben wir hier
möglicherweise schon eine neue Spezies Zukunftsmensch vor uns?
digital ist sexy schrieb:> Die menschliche Evolution ist definitiv weiter im Gange.
Eben. Die Menschheit mit 10 Fingern wird zwangsläufig aussterben. 16
Finger sind gefragt. Einfach noch ein paar Millionen Jahre abwarten,
dann löst sich Josefs Anliegen ganz von selbst.
Josef G. schrieb:>> In Digitaltechnik gehören Binär- und Hexadezimalsystem>> genauso zum Unterrichtsstoff,> Und jetzt stelle man sich eine Welt vor, in der das gar nicht> nötig wäre, weil schon die Kinder es in der Grundschule lernen> anstelle des Dezimalsystems.
Das Binärsystem ist erstaunlich unpraktisch, weil die Zahlen sehr lang
sind. Das überfordert das menschliche Gehirn. Das Hexadezimalsystem
widerspricht der kindlichen Intuition.
Das Dezimalsystem lernt man schließlich schon vor Grundschule und
Kindergarten.
> Oder was wäre mit den unzähligen> Seiten im Netz, welche den Leuten das Hexadezimalsystem> erklären. Alles überflüssig. Nicht auszudenken.
Dafür gäbe es dann entsprechende Seiten über das Dezimalsystem, die man
braucht, um das kulturelle Erbe der Menschheit zu verstehen. Das fängt
ja schon bei in Gebäude eingemeißelten Jahreszahlen römischer
Schreibweise an.
Nee, ich halte das nicht für machbar. Ähnlich wie den spontanen Wechsel
von Rechts- auf Linksverkehr oder umgekehrt, nur schlimmer. Hat ja seit
gut 50 Jahren auch kein Land mit nennenswertem Verkehr mehr gemacht.
Frank M. schrieb:> Die Menschheit mit 10 Fingern
Die 10 Finger sind quasi ein Fingerzeig auf die analoge Natur der Welt,
die digital nur schwarz/weiss, immer nur bestimmte Aspekte daraus
beschreibend sich überhaupt erst mit riesigen 0/1 Datenmengen daran
annähern kann. Der Mensch lebt ganzheitlich mit seinen Sinnen analog-
entsprechend orientiert sich auch das (Zahlen)Verständnis intuitiv an
sichtbaren Dingen- wie eben den 10 Fingern. Die Digitaltechnik ist ein
vereinfachendes Werkzeug, nicht die Welt selbst. Nur wer dieses Werkzeug
beherrschen will braucht neue Zahlensysteme. Die weit überwiegende
Mehrheit braucht sie nicht.
S. R. schrieb:> Das Hexadezimalsystem widerspricht der kindlichen Intuition.
Das Dezimalsystem ist auch anerzogen und nicht intuitiv.
Es gab historisch Alternativen, siehe Stunden und Minuten.
Die Probleme des Hexadezimalsystems sind die größere Zahl
der Ziffern und der sperrige und technisch klingende Name.
Die größere Zahl der Ziffern könnte man kindgerecht in den Griff
kriegen, indem man, wie oben schon geschrieben, die Kinder erst
das Vierersystem lernen lässt und dann Hex-Ziffern als Abkürzung
für zwei Vierer-Ziffern einführt.
Als Alternative zu dem technisch klingenden Namen habe ich
oben schon das Wort Sedimalsystem vorgeschlagen. Das Wort
gefällt mir immer besser. Es hat die gleiche Länge wie das
Wort Dezimalsystem und klingt auch ähnlich. Anders als die
Worte Hexadezimalsystem und Sedezimalsystem hat es keinen
unmittelbar erkennbaren Bezug mehr zum Dezimalsystem.
Beide Systeme erscheinen völlig gleichberechtigt.
AnalogIstTrumpf schrieb:> Die 10 Finger sind quasi ein Fingerzeig> auf die analoge Natur der Welt,
Auch das Dezimalsystem ist digital und nicht analog.
Josef G. schrieb:> Als Alternative zu dem technisch klingenden Namen habe ich> oben schon das Wort Sedimalsystem vorgeschlagen.
Das ist doppel-plus-gut! Um bestimmte Wörter aus dem Sprachschatz zu
streichen, verwendet man sie einfach nicht mehr! Das hat schon Orwell in
"1984" erfolgreich durchgeführt!
> Es hat die gleiche Länge wie das Wort Dezimalsystem> und klingt auch ähnlich.
Doppel-plus-ungut! Streiche "Dezi" aus Deinem Sprachschatz! Schreibe ab
sofort:
"Es hat die gleiche Länge wie das Wort Malystem und klingt auch
ähnlich."
> Anders als die> Worte Hexadezimalsystem und Sedezimalsystem hat es keinen> unmittelbar erkennbaren Bezug mehr zum Dezimalsystem.
Doppel-plus-ungut! Streiche "Dezi" und "Hexadezi" aus Deinem
Sprachschatz! Schreibe ab sofort:
"Anders als die Worte Hemalsystem und Semalsystem hat es keinen
unmittelbar erkennbaren Bezug mehr zum Malsystem."
Und schon macht das alles Sinn...
Josef G. schrieb:> Bau mal mittels µC einen Rechner mit hexadezimalem Ziffernsatz.
Tut mir leid, ich sehe darin keinen Mehrwert. Der Rechner wird trotzdem
binär rechnen - egal welches Ziffernsystem er zur Ein- oder Ausgabe
nutzt.
Ergo wird der Rechner dadurch nicht besser.
Josef G. schrieb:> AnalogIstTrumpf schrieb:> Die 10 Finger sind quasi ein Fingerzeig> auf die analoge Natur der Welt,>> Auch das Dezimalsystem ist digital und nicht analog.
Das hat niemand behauptet aber das hast Du natürlich nach Deinem
Geschmack missverstanden. Deine bevorzugte Basis 16 ist in der Natur
durch Nichts,Null besonders ausgezeichnet.
Sie eignet sich im Hexadezimalsystem nur für das Werkzeug Computer- so
wie wir es heute kennen.
Die Wahl der Zahlenbasis aber ist grundsätzlich willkürlich und beliebig
"analog" möglich. Dem Dezimalsystem liegen halt die 10 Finger zugrunde
und damit die praktischen Eigenschaften einer so gestalteten und
evolutionär entwickelten Greifhand.
AnalogIstTrumpf schrieb:> Deine bevorzugte Basis 16 ist in der Natur> durch Nichts,Null besonders ausgezeichnet.
Nunja ... Männer könnten damit rechnen :-)
Josef G. schrieb:>> Das Hexadezimalsystem widerspricht der kindlichen Intuition.> Das Dezimalsystem ist auch anerzogen und nicht intuitiv.> Es gab historisch Alternativen, siehe Stunden und Minuten.
Das 60er-System enthält das Dezimalsystem, da auch darin der Teiler 10
vorkommt. Die große Zahl an Teilern vermeidet Brüche im Hausgebrauch,
was der große Vorteil dieser Systeme ist.
Hexadezimal- und Binärsystem haben nur einen einzigen Teiler und sind
damit weniger flexibel. Die meisten üblichen Brüche sind in diesen
Systemen periodisch (auch mit langer Periode), was wiederum weniger
unhandlich ist.
Das Dezimalsystem liegt dazwischen, bietet einen guten Kompromiss und
lässt sich mit den üblichen 10 Fingern auch gut abbilden. Es mag nicht
optimal sein (das Hexadezimalsystem ist besser für Digitaltechnik
geeignet, darum wird es gelehrt), aber es ist für den Universalgebrauch
durchgängig funktional.
Zudem ist es das Fundament für das metrische System, und um das zu
ändern, bräuchte man ein kleines bisschen Weltunfrieden. Und auch das
reicht nicht immer - wie man sieht, wenn man über den großen Teich oder
in gewisse Spezialwissenschaften schaut. Ich bezweifle, dass du neben
dem Hexadezimalsystem gleich noch ein passendes Einheitensystem für alle
Belange kreieren möchtest (oder könntest).
Nee.
Das Hexadezimalsystem ist wichtig, optimal für seine Nische und wird
dort auch gelebt. Außerhalb dessen... unwichtig. Wie so vieles.
Kann es sein dass das Hexadezimalsystem kein einfaches Basis-System (wie
das 10er) ist, sondern aus 10 und 6 irgendwie zusammengesetzt ist ?
Vielleicht erklärt das die Schwierigkeiten zB. beim Teilen.
Genau schrieb:> Kann es sein dass das Hexadezimalsystem kein> einfaches Basis-System (wie das 10er) ist,> sondern aus 10 und 6 irgendwie zusammengesetzt ist ?
Das Dezimalsystem hat die Primärfaktoren 2 und 5 (2 x 5 = 10).
Das Hexadezimalsystem hat den Primärfaktor 2 (2 x 2 x 2 x 2 = 16).
Kann es sein dass das Zehnersystem das aller-einfachste System ist ?
Immerhin steht links nur eine 1, das heisst alles wird nur einmal
durchgeführt - und zweitens steht rechts eine Null, also wird da gar
nichts durchgeführt.
Dass der Mensch zehn Finger hat könnte nur ein Bonus-Zufall sein.
Genau schrieb:> Es scheint dass das Hexadezimalsystem gemacht wurde,> um das Dualsystem kompakter darstellen zu können.
Das scheint nicht nur so, das ist auch so und war nie anders.
AnalogIstTrumpf schrieb:> Deine bevorzugte Basis 16 ist in der Natur> durch Nichts,Null besonders ausgezeichnet.
In der Natur nicht, aber in der Mathematik.
S. R. schrieb:> Das Dezimalsystem liegt dazwischen, bietet einen guten Kompromiss
Das einzige, was es dem Dual/Hex-System voraus hat, ist,
dass man immer durch fünf teilen kann ohne unendlich viele
Nachkommastellen zu erhalten. Teilen durch fünf ist aber
vergleichsweise unwichtig, wichtiger wäre Teilen durch drei.
Wenn schon, dann müsste man also das Zwölfersystem einführen.
> Zudem ist es das Fundament für das metrische System, ...> Ich bezweifle, dass du neben dem Hexadezimalsystem gleich noch> ein passendes Einheitensystem für alle Belange kreieren möchtest
Ich nicht, das werden andere machen. Eine passende Einheit
gibt es schon: Das US-Zoll mit seinen Vierteln, Achteln usw.
--------
Aber die Diskussion dreht sich im Kreis, alle Argumente wurden
in diesem oder anderen Threads bereits genannt, zum Teil mehrfach,
auch auf meiner Seite Argumente. Man klicke auf meine Benutzerseite.
Genau schrieb:> Kann es sein dass das Zehnersystem das aller-einfachste ...
Ok, du willst hier also nicht nur mich verarschen.
Stellt sich mir die Frage, was deine Motive
sein könnten ausser Langeweile.
Frank M. schrieb:> Die Menschheit mit 10 Fingern wird zwangsläufig aussterben. 16 Finger> sind gefragt.
Ich fürchte, die werden ganz schön genervt sein, von den alltäglichen
Entscheidungen, die sie wegen dieser Missbildung dann dauernd fällen
müssen. Z.B.: Welchen Finger nehme ich am besten zum popeln?
Im Übrigen ist die Fünfstrahligkeit sehr tief in der Evolution
verankert. Es gibt zwar Tiere mit nur einem "Finger", die Einhufer, aber
die haben erstens noch zwei weitere rudimentäre Finger und zweitens
handelt es sich um eine Rückbildung ursprünglicher Anlagen.
Wenn mehr als 5 Finger vorhanden sind, dann ist das zumindest bei
Säugetieren immer eine Fehlbildung, die auf irgend welche Störungen bei
der Entwicklung des Embryos zurück geht.
Josef G. schrieb:> Die größere Zahl der Ziffern könnte man kindgerecht in den Griff> kriegen, indem man, wie oben schon geschrieben, die Kinder erst> das Vierersystem lernen lässt und dann Hex-Ziffern als Abkürzung> für zwei Vierer-Ziffern einführt.
Wie wärs denn, wenn man die Kinder einfach spielen ließe, statt ihnen
mit aller Gewalt irgend welchen Scheiß einzutrichtern, den 99% von ihnen
niemals im Leben brauchen werden?
Diejenigen, die die Informatik zu ihrem Arbeitsgebiet wählen, sind
jedenfalls in aller Regel nicht zu doof, das Hexadezimalsystem innerhalb
kurzer Zeit zu lernen und für sich zu nutzen – einem künftigen Pianisten
muss ja auch nicht im zarten Kindesalter beibringen, wie ein
Schiffsdiesel funktioniert…
Josef G. schrieb:> AnalogIstTrumpf schrieb:> Deine bevorzugte Basis 16 ist in der Natur> durch Nichts,Null besonders ausgezeichnet.>> In der Natur nicht, aber in der Mathematik.
Falsch. Auch mathematisch ist immer es eine Frage der Perspektive was
man da gerade als "besonders" bezeichnen will und kann. Es sei denn das
Besondere ist explizit vom Menschen als solches definiert (z.B. Null,
Wurzel aus -1).
> Ok, du willst hier also nicht nur mich verarschen.> Stellt sich mir die Frage, was deine Motive> sein könnten ausser Langeweile.
Das Motiv könnte die Auflösung des auffälligen Kontrasts zwischen Deinen
technischen und sonstigen Fähigkeiten sein :)
Josef G. schrieb:>> Deine bevorzugte Basis 16 ist in der Natur>> durch Nichts,Null besonders ausgezeichnet.> In der Natur nicht, aber in der Mathematik.
Inwiefern? So ziemlich alles in der Mathematik funktioniert für
beliebige Zahlendarstellungen (im Gegensatz zu "Rechnen", was etwas
völlig anderes als "Mathematik" ist).
Josef G. schrieb:> Eine passende Einheit gibt es schon:> Das US-Zoll mit seinen Vierteln, Achteln usw.
Ich kann auch einen Zentimeter halbieren-vierteln-achteln-sechzehnteln,
das hat mit dem Zoll nichts zu tun. Der Punkt ist, dass du nichts über
das Zusammenspiel von Einheiten aussagst (aussagen willst). Das ist
aber der relevante Teil.
Josef G. schrieb:> Teilen durch fünf ist aber vergleichsweise unwichtig,> wichtiger wäre Teilen durch drei.> Wenn schon, dann müsste man also das Zwölfersystem einführen.
Ein Sechsersystem würde dafür ausreichen, zudem ist 6 eine perfekte
Zahl. Für das Zwölfersystem gibt es nur einen Präzedenzfall.
Mag sein, dass "teilen durch 5" vergleichsweise unwichtig ist, aber es
zu können ist ein deutlicher Vorteil gegenüber einem System, in dem das
schlicht nicht sinnvoll geht. Dein Hexadezimalsystem ist insofern eine
objektive Verschlechterung.
Uhu U. schrieb:> Josef G. schrieb:>> Die größere Zahl der Ziffern könnte man kindgerecht in den Griff>> kriegen, indem man, wie oben schon geschrieben, die Kinder erst>> das Vierersystem lernen lässt und dann Hex-Ziffern als Abkürzung>> für zwei Vierer-Ziffern einführt.>> Wie wärs denn, wenn man die Kinder einfach spielen ließe, statt ihnen> mit aller Gewalt irgend welchen Scheiß einzutrichtern, den 99% von ihnen> niemals im Leben brauchen werden?
Ein Computer, die Maschine als Werkzeug, muss im Kern mit ihrem nativen
Zahlensystem arbeiten, das ist deshalb logisch weil alles andere
ineffizienter wäre. Beim heutigen Stand der Technik ist das Zahlensystem
dafür das binäre System, welches für Menschen die am Kern arbeiten
müssen, eine hexadezimale Darstellung zur besseren Lesbarkeit erhielt.
Nur kommt (fast) niemand auf die Idee, dass der Mensch als Benutzer
nämlichen Werkzeugs sich diesem anzupassen habe. Denn das ist wirklich
unsagbar blöde.
Man passt das Interface eines Werkzeuges dem Benutzer an und nicht
umgekehrt, einfach weil es eine unwirtschaftliche und unpraktische Idee
wäre, die menschliche Hand auf den Griff einer Rohrzange umzuoperieren.
Noch dazu die Technik fortschreitet und wenn ein Bit irgendwann 5
Zustände haben kann, dann ist hexadezimal für den Lokus. Wie lange nutzt
die Menscheit das 10er System und wie lange gibt's die Datentechnik, wie
wird's in 50 Jahren sein?
Man ändert also sinnvollerweise nur die Schnittstelle zum Benutzer und
nicht den Benutzer selbst.
All das könnte Bome wissen, nur wird er sich das nie eingestehen, da
sein ganzes Streben und sein ganzer Wahn dann ein Ende fände. Alle
Energie, die er in diesen Wahn steckte und immer noch steckt, wäre
verloren.
Das will er nicht und so lügt er sich weiter in die Tasche.
So wird auch der Thread immer weitergehen, da ihm selbst der Widerspruch
noch lieber ist, als nicht mehr beachtet zu werden.
Bome's Wahn ist harmlos, solange er nicht die Macht eines Kim Jong-un
erlangt.
MWS schrieb:> All das könnte Bome wissen, nur wird er sich das nie eingestehen, da> sein ganzes Streben und sein ganzer Wahn dann ein Ende fände. Alle> Energie, die er in diesen Wahn steckte und immer noch steckt, wäre> verloren.
Das Problem: Wahn kann leider immer nur von außen diagnostiziert werden,
dem Wahnsinnigen selber fehlt leider der Zugang zu dieser Erkenntnis.
Joachim schrieb:> Das Motiv könnte die Auflösung des auffälligen Kontrasts zwischen Deinen> technischen und sonstigen Fähigkeiten sein :)
Vorsicht. Echte technische Fähigkeiten bewertet man besser anhand eines
Projekts mit echtem Nutzwert.
Uhu U. schrieb:> Diejenigen, die die Informatik zu ihrem Arbeitsgebiet wählen, sind> jedenfalls in aller Regel nicht zu doof, das Hexadezimalsystem innerhalb> kurzer Zeit zu lernen und für sich zu nutzen – einem künftigen Pianisten> muss ja auch nicht im zarten Kindesalter beibringen, wie ein> Schiffsdiesel funktioniert…
Aber auch der Pianist wird sich umstellen müssen:
Eine Oktave wird nämlich künftig nicht in 12, sondern 16 Halbtöne
unterteilt werden. Jeder Halbton entspricht dabei einem
Frequenzverhältnis von ¹⁶√2≈1,0443 statt wie bisher ¹²√2≈1,0595.
Das ermöglicht völlig neue, bisher noch von keinem Menschen gehörte
Harmonien, die in einer nie dagewesenen Natürlichkeit erklingen.
Firmen wie Steinway und Bösendorfer werden sich freuen, sämtliche
Pianisten und Konzerthäuser auf der ganzen Welt mit neuen Instrumenten
ausstatten zu dürfen. Im Anhang ist schon einmal ein Entwurf zu sehen.
Werke von Bach, Beethoven und Schubert lassen sich damit natürlich nicht
mehr spielen. Hätten diese Herren, bevor sie mit dem Komponieren
begannen, doch mal Josefs Rat eingeholt.
Yalu X. schrieb:> Eine Oktave wird nämlich künftig nicht in 12,> sondern 16 Halbtöne unterteilt werden.
Etwas derartiges würde ich niemals fordern.
Die wohltemperierte Stimmung ist eine geniale Erfindung.
Ich käme auch nicht auf so eine Idee wie die Hexadezimalzeit. Auch
bei der Teilung des Kreises hat der Faktor drei seine guten Gründe
und ist im Hexadezimalsystem ebenso machbar wie im Dezimalsystem.
https://de.wikipedia.org/wiki/Gleichstufige_Stimmunghttps://de.wikipedia.org/wiki/Hexadezimalzeit
Josef G. schrieb:> Yalu X. schrieb:> Eine Oktave wird nämlich künftig nicht in 12,> sondern 16 Halbtöne unterteilt werden.>> Etwas derartiges würde ich niemals fordern.
Es sollte Dir zu denken geben was inzwischen alles für möglich gehalten
wird!
Josef G. schrieb:> Etwas derartiges würde ich niemals fordern.
Warum nicht? Ich meine, du forderst die Einführung des
Hexadezimalsystems als universelles (damit alleiniges) System bereits
für Kleinkinder.
Da wäre es doch nur sinnvoll, wenn es keine konkurrierenden
Zahlensysteme mehr gäbe, von bestimmten Legacy-Anwendungen mal
abgesehen...?
Das Dezimalsystem scheint mir aber auch nicht so ideal für Menschen zu
sein: ich merke selber dass wenn es bei einer Visualisierung über 5 geht
ich mich viel stärker konzentrieren muss.
Immerhin muss man die andere (räumlich etwas getrennte) Hand
dazu-visualisieren.
Josef G. schrieb:> AnalogIstTrumpf schrieb:>> Deine bevorzugte Basis 16 ist in der Natur>> durch Nichts,Null besonders ausgezeichnet.>> In der Natur nicht, aber in der Mathematik.
Der Mathematik ist die Basis vollkommen schnuppe.
Genau schrieb:> Das Dezimalsystem scheint mir aber auch nicht so ideal für Menschen zu> sein: ich merke selber dass wenn es bei einer Visualisierung über 5 geht> ich mich viel stärker konzentrieren muss.
Feiere es als Fortschritt gegenüber dem eins-zwei-drei-viele-System…
Frank M. schrieb:> Josef G. schrieb:>> AnalogIstTrumpf schrieb:>>> Deine bevorzugte Basis 16 ist in der Natur>>> durch Nichts,Null besonders ausgezeichnet.>>>> In der Natur nicht, aber in der Mathematik.>> Der Mathematik ist die Basis vollkommen schnuppe.
Das Dualsystem ist das Stellenwertsystem mit der kleinstmöglichen
Ziffernzahl. Das ist eine Extremaleigenschaft, und das Dualsystem
ist dadurch mathematisch ausgezeichnet. Das Hexadezimalsystem
hängt besonders eng mit dem Dualsystem zusammen, insofern ist
auch das Hexadezimalsystem mathematisch etwas besonderes.
PS:
Das Dualsystem ist nicht etwas besonderes, weil Computer
damit arbeiten, sondern Computer arbeiten damit, weil
das Dualsystem mathematisch etwas besonderes ist.
Alles kann je nach Blickwinkel was Besonderes sein oder auch nicht.
Alles hat für Bestimmtes besondere Eignung. Insofern ist das alles
nichts Besonderes.
Josef G. schrieb:> Das Dualsystem ist nicht etwas besonderes, weil Computer> damit arbeiten, sondern Computer arbeiten damit, weil> das Dualsystem mathematisch etwas besonderes ist.
Damit hast Du nur wiederholt daß sich das Dualsystem samt zugehöriger
Schreibweisen prima für Computer heutiger Prägung eignet. Ganz und gar
nicht verleitet dieser Umstand aber zum Gebrauch dieses Systems im ganz
normalen Alltag.
Vor allem nicht zum Aufwand der Umstellung eines lang vor Deiner Geburt
etablierten,bewährten und einfachintuitiven Dezimalsystem auf irgend
etwas anderes.
Josef G. schrieb:> Das Dualsystem ist nicht etwas besonderes, weil Computer> damit arbeiten, sondern Computer arbeiten damit, weil> das Dualsystem mathematisch etwas besonderes ist.
Falsch Bome:
Dass Computer mit dem Dualsystem arbeiten hat keine mathematischen
Gründe, sondern physikalische!
Oder überlege Dir mal, wie Du zwischen GND und Vcc noch weitere logische
Zustände zuverlässig dedektieren möchtest ;-)
Pat A. schrieb:> Oder überlege Dir mal, wie Du zwischen GND und Vcc noch weitere logische> Zustände zuverlässig dedektieren möchtest ;-)
So ähnlich, wie bei heutigen Flashmemories mit ihren 4 Zuständen je
Zelle…
Pat A. schrieb:> Oder überlege Dir mal, wie Du zwischen GND und Vcc noch weitere logische> Zustände zuverlässig dedektieren möchtest ;-)
So etwas wird (wie schon von Uhu erwähnt) bei aktuellen Flash-Speichern
doch schon längst gemacht. Entgegen der dortigen Behauptung sind
mittlerweile TLC mit 3 Bit (acht Ladungszustände) und QLC mit 4 Bit
(sechzehn Ladungszustände) absolut gebräuchlich.
Aber es gibt auch noch andere Einsatzgebiete mehrweriger Kodierungen. Im
ISDN basiert die Uk0-Schnittstelle auf einer ternären Kodierung. Auch
der sehr verbreitete ARINC-429-Bus ist ternär kodiert.
Viele moderne Modulationsarten wie z.B. QAM basieren auf mehrwertigen
Spannungskodierungen.
Es gab/gibt auch einige auf ternärer Logik basierende Computer:
https://de.wikipedia.org/wiki/Tern%C3%A4rer_Computer
Mark B. schrieb:> Andreas S. schrieb:> Es gab/gibt auch einige auf ternärer Logik basierende Computer:> https://de.wikipedia.org/wiki/Tern%C3%A4rer_Computer>> Ist die kleinste Informationseinheit dann nicht ein Bit, sondern ein> Tritt? :-)
Würde dann bedeuten das bei 4 ein Vick ist ;)
Uhu U. schrieb im Beitrag #6099211:
> Die Kims haben es immerhin seit 70 Jahren geschafft, ihre Unabhängigkeit> zu erhalten und nicht die Fehler zu machen, die Saddam Hussein und> Muammar al-Gaddafi letztlich das Leben gekostet haben – der Gegner war> jeweils derselbe.
Früher gab's auch Könige, aka Diktatoren, die längere Zeit ausgehalten
haben.
> Die Atombombe ist Kims Lebensversicherung.
Es ist die Anbiederung an China, bzw. China's Nutzen die Kim's als
aggressive Hündchen zur Verfügung zu haben.
> MWS schrieb:>> Bome's Wahn ist harmlos, solange er nicht die Macht eines Kim Jong-un>> erlangt.>> Bome wird nie irgend welche Macht erringen – er wird ja nichtmal mit> sich selber fertig. Insofern ist dein Vergleich ziemlich schräg.
Das ist schon klar und diese meine Bemerkung kabarettistischer Art hier
mit Dir diskutieren zu müssen, zeigt entweder dass Du borniert bist,
humorlos, kleinkariert oder angespannt. Nimmt man das geringste Übel an,
dann würde ich sagen, Du bist sehr angespannt.
Verfolgt man Deine kürzlichen Posts, dann bestätigt sich das.
> Ich kann dir nur raten, dich mal etwas näher mit der neueren Geschichte> Koreas zu befassen, die ist wirklich hoch interessant und vor allem> lehrreich. Mir gingen die Augen auf…
Nun, ich lausche auch nicht Deutschem Indoktrinierzentralsprech, sondern
versuche eine objektive Sicht zu erhalten, aber hier scheinst Du ein
wenig auf dem Holzweg. Überleg' mal, ob Du dort leben möchtest.
MWS schrieb:> Früher gab's auch Könige, aka Diktatoren,> die längere Zeit ausgehalten haben.
Es ist relativ schwierig, eine bestimmte Situation länger durchzuhalten
als sie existiert...
MWS schrieb:> Überleg' mal, ob Du dort leben möchtest.
Es gibt einen ziemlich großen Unterschied zwischen "das ist so toll da,
ich will da unbedingt hin auswandern" und "ich kann schon verstehen,
warum der gewisse Dinge so macht, und bei der Ausgangslage ist das sogar
vernünftig".
Du könntest ja ein paar Vorschläge machen, wie der Kim seinen Staat aus
deiner Sicht lebenswerter machen könnte - und zwar so, dass dieser Staat
auch in 20 Jahren noch existiert und nicht zwischendurch zerbombt wird.
Aber wir schweifen ab.
Tja, mein Versuch, die Diskussion von der Politik wegzubringen
Josef G. schrieb:> Das Dualsystem ist das Stellenwertsystem mit der kleinstmöglichen> Ziffernzahl. Das ist eine Extremaleigenschaft, und das Dualsystem
ist offenbar fehlgeschlagen.
PS: Legt ihr es darauf an, dass der Thread gesperrt wird?
S.R. = Uhu II?
S. R. schrieb:> MWS schrieb:>> Früher gab's auch Könige, aka Diktatoren,>> die längere Zeit ausgehalten haben.>> Es ist relativ schwierig, eine bestimmte Situation länger durchzuhalten> als sie existiert...
Was war an meiner Aussage nicht zu verstehen?
> MWS schrieb:>> Überleg' mal, ob Du dort leben möchtest.>> Es gibt einen ziemlich großen Unterschied zwischen "das ist so toll da,> ich will da unbedingt hin auswandern" und "ich kann schon verstehen,> warum der gewisse Dinge so macht, und bei der Ausgangslage ist das sogar> vernünftig".
Sicher. Die Anregung war rein hypothetisch um zur Selbstreflektion
anzuregen.
> Du könntest ja ein paar Vorschläge machen, wie der Kim seinen Staat aus> deiner Sicht lebenswerter machen könnte - und zwar so, dass dieser Staat> auch in 20 Jahren noch existiert und nicht zwischendurch zerbombt wird.
Kommt darauf an, ob mit oder ohne Kim. Mit Kim wären das Vorschläge für
den Fortbestand einer Diktatur und ohne Kim könnte man alles Mögliche
vorschlagen, es hilft nur nichts, denn es ändert nichts am allgemeinen
geopolitischen Interesse an der Region.
> Aber wir schweifen ab.
Das nun wirklich völlig egal, damit hältst Du den Vorreiter der grössten
8 Bit FPGA Revolution, Meister Bome auch nicht auf, darüber zu
sinnieren, ob xf.xy besser in fu.rz umbenannt werden, bzw. ein
gespiegeltes "f" zur neuen hexadezimalen Weltordnung gehört.
Josef G. schrieb:> PS: Legt ihr es darauf an, dass der Thread gesperrt wird?
Nicht unbedingt, es ist mir egal.
Eine Sperrung fände ich jedoch unwahrscheinlich.
Falls trotzdem gesperrt würde, fällt es Dir bei Deiner Ausdauer sicher
leicht, einen weiteren Thread für Deinen digitalen Homunkulus zu
eröffnen.
Wobei ich bei "Homunkulus" in Zusammenhang mit Deinem Projekt eher an
Brundle Fly nach dem missglückten letzten Teleport denke. ;D
MWS schrieb:> Das ist schon klar und diese meine Bemerkung kabarettistischer Art hier> mit Dir diskutieren zu müssen, zeigt entweder dass Du borniert bist,> humorlos, kleinkariert oder angespannt.
Meine Bemerkung war ernst gemeint, aber das scheinst du mit aller Gewalt
ignorieren zu wollen. Dass die "Qualitätsmedien" hier ungestraft so
einen erbärmlichen Dreck über Korea – nicht nur Nordkorea – verbreiten
können, liegt daran, dass das Thema schon in der Schule sträflich
vernachlässigt wird. Dabei kann man an diesem Beispiel mehr Politik
lernen, als vom ganzen Rest zusammen.
S. R. schrieb:> Es gibt einen ziemlich großen Unterschied zwischen "das ist so toll da,> ich will da unbedingt hin auswandern" und "ich kann schon verstehen,> warum der gewisse Dinge so macht, und bei der Ausgangslage ist das sogar> vernünftig".
Dem ist nichts hinzuzufügen.
Aber nun zurück zu Bomes FPGA…
Uhu U. schrieb:> Meine Bemerkung war ernst gemeint
Du hast also eine ernst gemeinte Bemerkung zu meiner nicht ernst
gemeinten Bemerkung gemacht. Schön.
> aber das scheinst du mit aller Gewalt> ignorieren zu wollen.
Ich hab's vernommen, besitze aber glücklicherweise die Freiheit das
nicht würdigen zu müssen.
Josef G. schrieb:> vielleicht interessiert es ja jemanden
Viel interessanter fände ich die nächsten beliebigen Änderungen in
Befehls- und Zeichensatz Deiner CPU. Auf die Weise hälst Du den Thread
auf Trab! So knackst Du bestimmt noch Meister Kurt's Rekorde :)
Josef G. schrieb:> Gucci schrieb:>> Zeichensatz Deiner CPU>> Interessante Sichtweise.
Eben. Das Vehikel trieft in seiner 8Bomebittigen
Instruktionszeichensatzmelange nur so vor hexadezimaler Weltrevolution.
Werft auf meiner Website auch einen Blick auf die
neue Seite Sedimalisten und die dortigen Links.
Auch an der Seite Argumente habe ich gefeilt.
http://www.bo8h.de/Sedimalisten/
PS:
Der vorherige gelöschte Beitrag war von einem unangemeldeten
Nutzer, der nachfragte ob es etwas neues gibt. Nicht schön,
dass er gelöscht wurde, denn der Beitrag zeigte immerhin,
dass es jemanden gibt, der an dem Thread Interesse hat.
Und nein, es muss hier niemand antworten, lasst
den Thread einfach wieder nach unten rutschen.
Josef G. schrieb:> Nicht schön, dass er gelöscht wurde, denn der Beitrag zeigte immerhin,> dass es jemanden gibt, der an dem Thread Interesse hat.
Glaub mir, der hatte keinerlei Interesse an deinen Entwicklungen, der
wollte dich nur vergackeiern.
Yalu X. schrieb:> Glaub mir, der hatte keinerlei Interesse an deinen Entwicklungen, der> wollte dich nur vergackeiern.
Woher weiß man das so genau? ?
Und in der Tat gibt es ja etwas Neues, wie Josef oben geschrieben hat.
Ich habe immer noch mal wieder mit 8 Bit Rechnern zu tun.
Es gibt noch viele in alten Messmaschinen, CNC Maschinen.
Finde es immer wieder beeindruckend wie effektiv man mit 2Mhz arbeiten
kann, wenn man sich auf das Wesentliche konzentriert.
Wobei Parallel-Computing unabdingbar ist, jede zeitkritische Funktion
bekommt eine eigene CPU.
Was das Ganze wieder etwas verkompliziert.
Ich denke mal ein 8Bit Rechner mit heute viel mehr MHZ kann mit der
Philosophie der Einfachheit seinen Platz finden.
Vor allem kann man hier auf sehr robuste Technik zurückgreifen.
Die Meisten Ausfälle von heutigen Rechnern in Maschinen die völlig
überlastet sind mit haufenweise Software sind nicht einmal mehr
reproduzierbar.
Da laufen Teile von Software auf virtuellen Maschinen..
Während alte 8Bit Rechner vielleicht neue Tantalelkos benötigen,
regelmäßig neue Speicherbatterien und mal eine Kontaktpflege, sind die
neueren Maschinen aus den 90ern und 2000ern schon alle am HDD Aufall
gestorben, wenn keine Datensicherung vorlag. Hardware ist zu speziell
designt, und alle paar Wochen gab / gibt es neue Hardware, sodass ein
Hardwareausfall bei einer älteren Maschine heute kaum zu kompensieren
ist.
Von daher kann eine gut standardisierte 8Bit Hardware ihren Platz
finden.
In jeden Fall aber wären Interrupts elementar um auf externe Ereignisse
reagieren zu können. Und grade die Fehlen bei Deinem Projekt komplett?
Multitasking erleichtert doch ungemein das Programmieren.
Auch dies fehlt?
Die Grafikfähigkeit von 8bit ist heute nicht mehr an den Mann zu
bringen.
Ich bin hier auch nicht für Fotorealistische Darstellung bei
funktionellen Systemen, aber an 16Bit führt kein Weg vorbei.
Ich sehe die Einsatzgebiete für 8Bit eher bei Steuerungsaufgaben,
Datenerfassung und Visualisierung, wo Robustheit und geringer
Stromverbrauch wichtig sind.
Eine verständliche Programmiersprache wäre wichtig für die breite
Akzeptanz.
Michael K. schrieb:> Eine verständliche Programmiersprache wäre wichtig für die breite> Akzeptanz.
In Josefs Welt hat er genau dies erschaffen.
Leider teilt so gut wie niemand diese Sichtweise.
Michael K. schrieb:> Ich habe immer noch mal wieder mit 8 Bit Rechnern zu tun.> Es gibt noch viele in alten Messmaschinen, CNC Maschinen.> Finde es immer wieder beeindruckend wie effektiv man mit 2Mhz arbeiten> kann, wenn man sich auf das Wesentliche konzentriert.
Ja, volle Zustimmung.
> Wobei Parallel-Computing unabdingbar ist, jede zeitkritische Funktion> bekommt eine eigene CPU.> Was das Ganze wieder etwas verkompliziert.
"Etwas"? Früher Multiprozessorsysteme waren meist hochgradig proprietär
und klobig. Heute besteht ja jedes Gerät aus etlichen Microcontrollern,
wovon man oft nur einen Bruchteil sieht.
> Ich denke mal ein 8Bit Rechner mit heute viel mehr MHZ kann mit der> Philosophie der Einfachheit seinen Platz finden.
Ein großes Problem bei 8-Bit-Rechnern ist der sehr begrenzte Adressraum.
Und Bankumschaltungen sind so ziemlich das Gegenteil von Einfachheit.
Wir sehen doch auch am bo8, wie leicht man so etwas verkorksen kann.
Aber auch Mikroprozessor- und Microcontrollerfamilien, die immer weiter
aufgebohrt wurden, leiden darunter. Welch ein Aufwand bei den "modernen"
8051-Derivaten da betrieben wurde...
> Vor allem kann man hier auf sehr robuste Technik zurückgreifen.
Meinst Du damit etwa konventionell aufgebaute 8-Bit-Rechner, d.h. mit
CPU, RAM, ROM, Peripherie? So etwas ist doch wesentlich unzuverlässiger
als ein vollintegrierter Microcontroller.
> Die Meisten Ausfälle von heutigen Rechnern in Maschinen die völlig> überlastet sind mit haufenweise Software sind nicht einmal mehr> reproduzierbar.> Da laufen Teile von Software auf virtuellen Maschinen..
Ja, es gibt viele Geräte mit völlig überladener Firmware/Software, die
auch völlig instabil ist und von keinem Entwickler mehr durchschaut
wird. Das liegt aber an der Featuritis und nicht an der Breite des
Prozessorkerns. Würde man genau solche aufgeblasene Firmware auf ein
8-Bit-System mit kruden Bankumschaltungen bringen, wäre das ganze noch
viel instabiler.
Genauso kann man hochgradig zuverlässige Firmware für
16/32/64-Bit-Prozessoren schreiben.
> Während alte 8Bit Rechner vielleicht neue Tantalelkos benötigen,> regelmäßig neue Speicherbatterien und mal eine Kontaktpflege, sind die> neueren Maschinen aus den 90ern und 2000ern schon alle am HDD Aufall> gestorben, wenn keine Datensicherung vorlag.
Was hat der HDD-Ausfall mit der Bitbreite des Prozessors zu tun? Nichts.
Es gab auch früher 8/16-Bit-Rechner mit Festplatten. Deren Haltbarkeit
und Ersatzteilverfügbarkeit waren aber so eingeschränkt, dass sie
entweder mittlerweile komplett ausgestorben sind oder sehr, sehr
aufwändige und teure Wartung benötigen. Spätestens seit Ende der 1990er
Jahre sind zudem die Kompatibilitätsprobleme bei Festplatten deutlich
zurückgegangen, so dass sich auch viel eher Ersatz findet als bei
Rechnern aus den 1970er oder 1980er Jahren.
> Hardware ist zu speziell> designt, und alle paar Wochen gab / gibt es neue Hardware, sodass ein> Hardwareausfall bei einer älteren Maschine heute kaum zu kompensieren> ist.
Das ist völliger Unsinn. Genau das Gegenteil ist der Fall, d.h. viele
Geräte sind auf einer Standard-PC-Hardware aufgebaut. Das macht die
Sache aber nicht unbedingt besser, da auch diese vermeintliche
Standard-Hardware recht bald nicht mehr verfügbar ist.
Früher zu 8-Bit-Zeiten wurden aber kaum Standardrechner eingesetzt,
sondern "jeder" meinte, ein eigenes Prozessorsystem aufbauen zu müssen.
Heutige Microcontroller sind mit der damaligen Hardware zu vergleichen.
Und die allermeisten Microcontroller sind deutlich länger erhältlich als
die damaligen backblechgroßen Rechnerboards.
> Von daher kann eine gut standardisierte 8Bit Hardware ihren Platz> finden.
Wenn man einen voll integrierten Microcontroller als standardisierte
Hardware betrachtet, stimmt das. Zwar sind hier 8 Bit auch noch
verbreitet, aber als Standard würde ich