Josef G. schrieb:> (8+2)+(8+5) = (8+8)+(2+5) = 17
Den Test hast Du leider nicht bestanden, denn erstens:
MWS schrieb:> Du darst dabei nicht in Dezimal denken, bzw. temporär umwandeln und> damit rechnen, denn Dezimal gäbe es ja nicht.
und zweitens:
Schau' Dir doch mal, was für einen Aufwand Dir diese simple Rechnung
bereits macht und vergleiche mit einer dezimalen Addition, dann erkennst
Du den Vorteil des Dezimalsystems.
Das wird bei größeren Zahlen noch schlimmer in Hexadezimal, versuch mal
händisch eine Multiplikation zwei oder dreistelliger Hex-Werte.
Dem Rechner macht das nichts, der rechnet auch nicht in Hexadezimal,
sondern in Binär.
Hexadezimal wurde nur zur übersichtlichen Darstellung von Binärdaten
verwendet, die nebeneinander geschrieben völlig unleserlich wären.
Hexadezimal ist eine Notlösung zur Datendarstellung, aber nichts was man
intuitiv verwenden würde.
MWS schrieb:> Den Test hast Du leider nicht bestanden, denn erstens:> MWS schrieb:>> Du darst dabei nicht in Dezimal denken, bzw. temporär umwandeln>> und damit rechnen, denn Dezimal gäbe es ja nicht.
A=8+2 und D=8+5 kann man in der Vorstellung unmittelbar aus den
Binärmustern von A und D ablesen, da braucht man dezimal nicht.
> Schau' Dir doch mal, was für einen Aufwand Dir diese simple> Rechnung bereits macht
Hätte ich als Kind die hexadezimale Additionstabelle und
Multiplikationstabelle (das Einmaleins) auswendig gelernt
anstelle der dezimalen, gäbe es diesen Aufwand nicht.
Diese Tabellen sind im Hexadezimalsystem größer als
im Dezimalsystem, das ist ein Nachteil, zugegeben.
Raimund schrieb im Beitrag #6277341:
> Schon mal ein Kleinkind beim Zählen beobachtet?
Da Kleinkinder keinen Übertrag bilden, können sie mit
ihren Fingern statt bis zehn ebenso gut bis A zählen.
Josef G. schrieb:> Man könnte Kindern zum Zählenlernen ein> kleines Täfelchen mit 4*4 Kreisen geben.
Man könnte Kinder genetisch verändern, so dass sie 8 Finger an jeder
Hand haben.
Ich bringe Dir Argumente wie:
Beitrag "Re: 8bit-Computing mit FPGA"
oder:
MWS schrieb:> Hexadezimal ist eine Notlösung zur Datendarstellung, aber nichts was man> intuitiv verwenden würde.
und Du weichst jeglicher Antwort dazu aus, schwurbelst hier nur rum mit:
könnte, hätte, würde. Kennst Du den Grund für Dein Verhalten?
Du hast keine Antwort, denn Du bist ein Verlierer, all Deine Logik sagt
Dir dass Du mit Deiner Sache verloren hast, aber Dein Unterbewusstsein
will das nicht wahrhaben und ersinnt immer neue Ausflüchte um der
Wahrheit auszuweichen.
Und so kommt statt einer begründeten Antwort auf ein Argument eben
solcher Unsinn wie "kleine Täfelchen".
Eine Diskussion mit Eliza hat mehr Inhalt.
MWS schrieb:> Noch dazu die> Maschinen-Rechenleistung hoch ist, bzw. die Konvertierungsroutinen nur> einen winzigen Teil der Rechenleistung der Maschine benötigen.
Sogar die ersten Zuses, noch mit Relais, konnten das umrechnen.
MWS schrieb:> Man könnte Kinder genetisch verändern, so dass sie 8 Finger an jeder> Hand haben.
Wir könnten damit beginnen, alle Menschen von der FortPflanzung
auszuschließen, die nicht unter einer Polydaktylie leiden. Damit ließe
sich recht zügig zumindest das Zwölfersystem einführen. Nach nur wenigen
hundert Generationen solcher hexadaktyler Menschen wird das ganze
wiederholt, d.h. nur die heptodaktylen dürfen sich fortpflanzen. Dann
ist der Weg nicht mehr weit bis zur Herrschaft der Oktodaktylen!
MWS schrieb:> Josef G. schrieb:>> Man könnte Kindern zum Zählenlernen ein>> kleines Täfelchen mit 4*4 Kreisen geben.>> Man könnte Kinder genetisch verändern, so> dass sie 8 Finger an jeder Hand haben.
Nein.
> Ich bringe Dir Argumente wie:> Beitrag "Re: 8bit-Computing mit FPGA">> Es ist völliger Schwachsinn der Maschine ein wenig Arbeit bei>> der Konvertierung des dem Menschen gewohnten Zahlensystems>> abzunehmen, indem man den Menschen der Maschine anpasst.
Es geht nicht darum der Maschine Arbeit abzunehmen.
Es geht darum, der breiten Mehrheit der Menschen zu ermöglichen,
die Arbeitsweise von Computern zu verstehen, ohne dass sie erst
ein neues Zahlensystem lernen müssen. Und ihnen zu ermöglichen,
die mathematische Schönheit des Hexadezimalsystems zu genießen.
> oder:>> MWS schrieb:>> Hexadezimal ist eine Notlösung zur Datendarstellung,>> aber nichts was man intuitiv verwenden würde.>> und Du weichst jeglicher Antwort dazu aus,
Hexadezimal ist historisch entstanden als
"Notlösung zur Datendarstellung". Aber warum
sollte man es nicht trotzdem "intuitiv verwenden"?
Josef G. schrieb:> Es geht darum, der breiten Mehrheit der Menschen zu ermöglichen,> die Arbeitsweise von Computern zu verstehen, ohne dass sie erst> ein neues Zahlensystem lernen müssen.
Nun, was die breite Mehrheit der Menschen an Computern bereit ist zu
verstehen, siehst Du auf der Straße oder im Bus, das ist ein
Wischi-Phone oder -Tablet. Das entspricht auch Deiner Vorstellung, es
lässt sich ohne Erlernen eines neuen Zahlensystems verstehen.
Ein Verstehen der Arbeitsweise ist auch nur soweit nötig, bzw. vom
Benutzer erwünscht, als dass die gewünschten Apps installiert und
bedient werden können.
>> MWS schrieb:>>> Hexadezimal ist eine Notlösung zur Datendarstellung,>>> aber nichts was man intuitiv verwenden würde.>>>> und Du weichst jeglicher Antwort dazu aus,>> Hexadezimal ist historisch entstanden als> "Notlösung zur Datendarstellung". Aber warum> sollte man es nicht trotzdem "intuitiv verwenden"?
Einfach deshalb, weil ein gut funktionierendes System bereits etabliert
ist und man aus praktischen Gründen nicht sein Leben verkomplizieren
möchte.
Wie ein Computer ist ein Zahlensystem ein Werkzeug und dient in aller
Regel nicht dem Selbstzweck, sondern einem Nutzen, z.B. um mathematische
Zusammenhänge zu erforschen, oder einfach nur die Preise der
Einkaufsliste zu addieren.
Natürlich ist aus Liebhaberei alles möglich, klar kann man Gesang und
Lyrik der blauen afrikanischen Riesenmotte studieren und erlernen.
Nur warum?
MWS schrieb:> Du darst dabei nicht in Dezimal denken, bzw. temporär umwandeln und> damit rechnen, denn Dezimal gäbe es ja nicht.
Das mache ich übrigens auch im Dezimalsystem nicht. Kopfrechnen tue ich,
indem ich im Geiste Strecken aneinander füge,deren Länge ich immer
wieder durch Vergleich mit der Basis^n reduziere – da ist die Basis des
Zahlensystems, in das ich hinterher meine virtuellen Holzklötzchen
übersetze, gleichgültig.
Das Dezimalsystem ist nur deswegen besonders einfach, weil ich es kann.
Das Können habe ich mit Hilfe des Fingerrechnen in jungen Jahren
eingeübt – da trifft sich die Sache wieder mit der Fünfstrahligkeit der
Hand, mit der man eben schlecht im Hex-System rechnen kann. Damit ist
das Hex-System erst mal vom Tisch und das Umstellen von dezimal auf hex
würde für alle einen Riesenaufwand bedeuten, dem auf der anderen Seite
absolut kein Nutzen gegenübersteht.
Man müßte also ein ökonomischer Vollidiot sein, wenn man sowas ernsthaft
in Erwägung zöge.
Marc H. schrieb:> wo bekomme ich den VHDL her und für welchen FPGA funktioniert er?
Das steht doch im Diskussionsfaden und auf den verlinkten Seiten. Lesen
hilft.
Hier ein Zitat aus einem Strang im FPGA-Forum.
Damit könnten auch die Realisierungen des Projekts
auf den alten Xilinx-Boards wieder interessant sein.
Andreas S. schrieb:> Wie ich gerade gesehen habe, bietet Xilinx seit Februar 2020 eine neue> W10-taugliche Version von ISE 14.7 an, und zwar als integrierte VM> mit/für Virtual Box. Interessanterweise werden jetzt wieder alle> Bausteinfamilien und -generationen (bis Generation 6 sowie die ersten> Zynq-7000) unterstützt. Offenbar gab es zu viele Proteste von Kunden,> die ihre Altprojekte mit Spartan-3(xyz) und Virtex-2/4/5 noch pflegen> müssen.
Josef G. schrieb:> Damit könnten auch die Realisierungen des Projekts> auf den alten Xilinx-Boards wieder interessant sein.
Nein. Eher nicht.
Die Toolchain ist nicht das Problem an diesem Projekt.
Josef G. schrieb:> Hier ein Zitat aus einem Strang im FPGA-Forum.> Damit könnten auch die Realisierungen des Projekts> auf den alten Xilinx-Boards wieder interessant sein.
Du lieferst für Deinen bo8 ja nicht einmal Projektdateien oder Skripte
mit. Damit handelt es sich eh um Codefragmente, bei denen ein Anfänger
raten muss, wie er sie auf der Plattform seiner Wahl integriert. Und
Deine komischen Lizenzbedingungen verhindern sehr effektiv, dass Dritte
auf Deinem Code aufsetzen und irgendetwas publizieren. Du hast einfach
selbst einen riesigen Haufen an Hindernissen aufgebaut. Ob nun ISE
wieder auf aktuellen Rechnern funktioniert oder nicht, ist da das mit
Abstand kleinste Problem.
Andreas S. schrieb:> Damit handelt es sich eh um Codefragmente, bei denen ein Anfänger> raten muss, wie er sie auf der Plattform seiner Wahl integriert.
Steht alles auf der Seite Hardware im
Verzeichnis Info des Download-Files.
Dann löse es. Wenn du das Fenster des Emulationsprogramms schließt,
bekommst du ein Event. Werte das Event aus und gut ist - und zwar bevor
der Window-Manager das Fenster abschießt, weil du das Event ignoriert
hast.
S. R. schrieb:> Dann löse es.
Ich befürchte, dass Josef tatsächlich eine Lösung finden und umsetzen
wird. Jedoch wird es sich dabei um einen Workaround handeln, der so
dermaßen vorbei an jeglicher guten Praxis und Funktionalität
implementiert ist. Ich könnte mir vorstellen, dass einfach der obere
Fensterrand aus dem sichtbaren Bereich herausgeschoben wird, so dass
niemand mehr auf das Schließen-Symbol klicken kann. Oder es wird ein
weiteres Fensterchen so über das Symbol gelegt, dass man nicht mehr
herankommt. Oder beim Programmstart wird kontrolliert, ob überhaupt ein
Zeigergerät verfügbar ist, um dann ggf. gleich abzubrechen. Oder der
ganze Bildschirm wird dunkel geschaltet, sobald sich der Mauszeiger in
die Nähe des Schließen-Symbols bewegt. Das Programm könnte auch in einer
Schleife mit einer so hohen Rate Zeiger-Ereignisse erzeugen, dass es
unmöglich wird, auf Schließen zu klicken. Oder, oder, oder... Wir dürfen
gespannt sein!
Josef G. schrieb:> Ein ungelöstes Problem des Emulationsprogramms:> Beitrag "Re: Grafik unter Linux"
Wenn Du den ganzen Quellcode auf einem öffentlichen
Versionskontrollsystem unter einer hierfür brauchbaren Lizenz
veröffentlicht hättest, dann hätte womöglich schon jemand dieses Problem
behoben und die Änderungen völlig transparent eingecheckt.
Andreas S. schrieb:> Wenn Du den ganzen Quellcode auf einem öffentlichen> Versionskontrollsystem unter einer hierfür brauchbaren Lizenz> veröffentlicht hättest
Ja sollen ihm denn am Ende die Chinesen seinen Code klauen?
Weiter oben hatte ich sedimal als Abkürzung für sedezimal
vorgeschlagen:
Beitrag "Re: 8bit-Computing mit FPGA"
Leider wurde mein Thread "hexadezimal, sedezimal, sedimal"
von offtopic nach dev/null verschoben und ist inzwischen gesperrt.
Beitrag "hexadezimal, sedezimal, sedimal [Endet am 15.12.2020]"
Der folgende Link hätte da noch hineingehört:
http://dark.fiftysix.scot/Base-16/
Habe ich gerade gefunden. Das ist die noch im Aufbau befindliche
Seite eines Studenten, der sich auch für das Hex-System einsetzt
und über die Bezeichnung 'sedimal' nachdenkt.
Frank schrieb:> Mampf F. schrieb:>> Wir die CPU schon von SDCC unterstützt?>> Guter Witz. Danke dafür.
Hat man die Ironie trotz fehlender rhetorischer Stilmittel wie Hyperbeln
erkannt xD
Josef G. schrieb:> Habe ich gerade gefunden. Das ist die noch im Aufbau befindliche> Seite eines Studenten, der sich auch für das Hex-System einsetzt> und über die Bezeichnung 'sedimal' nachdenkt.
Die Gedanken dieses Studenten sind aber nicht unbedingt sonderlich
ausgereift und gehen auch von Misverständnissen aus. Z.B. schreibt er
"Hexadecimal is made up of six (hex) and ten (decimal), which doesn’t
make much sense when not using base-10."
Er scheint das 6+10 nicht verstanden zu haben, was sich genau auf die 6
neuen Zeichen bezieht und nicht etwa auf die Basis.
Grundsätzlich hat das eine System grundsätzlich keine Vorteil gegenüber
einem anderen. Man kann auch in einem 7er-System denken und rechnen.
Wurde ja gezeigt. Das ist eine reine Frage der Gewöhnung. Die Ägypter
hatten angeblich ein 5er-System. Der Vorteil eines solchen System mit
mehr Zeichen ist einfach, dass große Zahlen weniger Zeichen brauchen.
Dafür wird die Rechnung schwieriger. Kleine Ziffernmengen führen
allerdings wieder zu mehr komplexen Kommaverschiebungen, wenn Zahlen
multipliziert werden müssen. Das Zehnersystem ist ein Alltagskompromiss,
den man mit einem System, dass nur 60% mehr Zeichen hat, nicht
wesentlich verschiebt.
Josef G. schrieb:> Bitte hier nicht mehr antworten. Da geht's weiter:
Geht es leider nicht, und ehe mein - tatsächlich konstruktiv gemeinter -
Beitrag (Beitrag "Re: Ein 8bit-Computer mit Hex-Ziffernsatz")
verschwindet, zitiere ich ihn hier nochmals in Gänze. Wenn das nicht
erwünscht ist, bitte ich die Moderation um Löschung dieses Beitrags.
Josef G. schrieb:>> Einerseits braucht es die aufwendige Lücke zwischen 9 und A> Bei meinem Zeichensatz gibt es keine Lücke zwischen 9 und xA.
Dafür ist dein Zeichensatz für die skandinavischen Sprachen ungeeignet;
weder ein æ oder ein ø (für dänisch und norwegisch) noch ein å (für die
genannten sowie schwedisch oder finnisch) lassen sich finden. Obwohl
sowohl die Dollar- und Eurozeichen $ und € vorhanden sind, fehlt das
Pfundzeichen £, welches in Europa auch nach dem Brexit noch eine
gelegentliche Rolle spielt.
Zudem fehlt ein der Symmetrie wegen notwendiges großes ß (stattdessen
hast du dort ein Sigma, allerdings keine anderen griechischen
Buchstaben). Stattdessen hast du spezielle Zeichen mit Oberstrich, die
man allerdings auch anderweitig herstellen kann (z.B. durch Präfixe,
Suffixe oder Attributbits).
Für einen universalen Zeichensatz empfehle ich mindestens die
vollständige Unterstützung der westlichen Sprachen; süd- und
osteuropäische Sprachen auf Basis der kyrillischen oder griechischen
Zeichen sind mit geringem Zusatzaufwand ebenfalls machbar. Die
Unterstützung für ostasiatische oder afrikanische Zeichen könnte auf
ein zukünftiges Update verschoben werden.
New-User schrieb:> Josef G. schrieb:>> Habe ich gerade gefunden. Das ist die noch im Aufbau befindliche>> Seite eines Studenten, der sich auch für das Hex-System einsetzt>> und über die Bezeichnung 'sedimal' nachdenkt.>> Die Gedanken dieses Studenten sind aber nicht unbedingt> sonderlich ausgereift und gehen auch von Misverständnissen> aus. Z.B. schreibt er ...
Die Aussage ist wohl, dass der Name des Zahlensystems nicht auf
das Dezimalsystem verweisen sollte. Das ist auch meine Meinung.
Habe auf der Seite Downloads den Verweis auf Creative Commons
entfernt und durch einen frei formulierten Text ersetzt,
welcher einer völligen Freigabe gleichkommt.
Du müsstest doch gar nicht auf alle (abtretbaren) Rechte verzichten,
sondern das ganze nur in einer Form anbieten, mit der auch jemand etwas
anfangen kann. Und dafür verwendet man heutzutage solche öffentlich
zugänglichen Versionskontrollsysteme wie z.B. Github. Ich hatte ja vor
einigen Jahren schon so etwas für Dich bzw. bo8h aufgesetzt, was damals
jedoch an dem Beharren auf der CC-Lizenz scheiterte. Vielleicht mache
ich mir ja jetzt irgendwann die Mühe...
Es gibt ein paar kosmetische Änderungen am inneren Aufbau der
CPU, betreffend den Startvorgang nach Reset. Die Änderungen
haben keinen Einfluss auf das Verhalten der CPU nach aussen.
MaWin schrieb:> Josef G. schrieb:>> Die Änderungen>> haben keinen Einfluss auf das Verhalten der CPU nach aussen.>> Dann bin ich ja beruhigt.
Das steht auch so im Git-Checkinkommentar.
Bitte verzeiht mir, dass ich mich auf einen Beitrag im gesperrten Thread
beziehe, aber ich war nicht zuhause und konnte nicht mehr rechtzeitig
darauf antworten.
Josef G. schrieb:>> Urheberrecht ist klar, aber den Rest finde ich spannend, weil:> Ich wäre bereit, alles komplett freizugeben,> wenn mir jemand sagt, wie das geht.
Am einfachsten stellst du den Code unter eine BSD-Lizenz (oder eine
andere freie Lizenz). Da du meines Wissens der einzige Contributor
(Zuarbeiter) des Projektes bist und daher die vollständigen Rechte
besitzt, kannst du das jederzeit tun; du selbst bist deswegen nichtmal
an die Lizenz gebunden, da du als Rechteinhaber jederzeit die
Bedingungen festlegen kannst[*].
Als nächstes fügst du der ZIP-Datei (oder dem Git-Repository) eine Datei
mit dem Namen LICENSE (oder LICENSE.TXT) hinzu, in die du den Lizenztext
der von dir verwendeten Lizenz kopierst. Wenn in den Dateien sowas wie
"Urheberrecht blabla Josef" oder "Alle Rechte reserviert" steht, dann
kannst du das entfernen (es wäre durch die Lizenz ungültig, aber ich
habe in den Dateien auch nichts dergleichen gefunden).
Was du auf die Webseite schreibst ist zwar schön, aber die
Lizenzbedingungen sollten zum Code gehören, nicht zum Downloadlink. Ich
kann den Code auch von anderer Quelle erhalten - er ist ja frei - und
dort sehe ich deine Bedingungen möglicherweise nicht.
Mit einer bekannten Lizenz ist rechtssicher festgelegt, dass du das
Urheberrecht weiterhin besitzt (das kannst du nach deutschem Recht
ohnehin nicht abtreten), der Code aber unter eindeutig definierten
Randbedingungen frei genutzt werden darf. Die CC-Lizenzen sind dafür
ungeeignet, das schreiben auch die Verantwortlichen dieser Lizenzen.
Die Dokumentation kannst du unter eine CC-Lizenz stellen (bzw. so
lassen). Sinnvollerweise steht die verwendete Lizenz ebenfalls in der
Dokumentation. Einfacher wäre es, wenn du die in der ZIP-Datei
vorhandene Dokumentation unter die gleiche Lizenz stellst wie den Code,
dann verkürzt du die LICENSE-Datei. (Andernfalls müsstest du beide
Lizenzen da reinschreiben und eine Erklärung, welche Teile unter welcher
Lizenz stehen oder in jede Datei die korrekte Lizenz reinschreiben.)
Diese Schritte - Zustimmung einholen, passende Lizenz aussuchen,
Lizenztext in LICENSE-Datei kopieren und zum Code tun - sind zumindest
bei meinem Arbeitgeber ausreichend, um ein Projekt unter eine freie
Lizenz zu stellen. Besser wird's nicht.
[*] Unter BSD-Lizenz gesteller Code kann aber jederzeit von anderen nach
den Regeln der BSD-Lizenz genutzt werden. Einschränken kannst du das
nachträglich nur für Folgeversionen. Aber das ist hier eher unwichtig.
S. R. schrieb:> Am einfachsten stellst du den Code unter eine BSD-Lizenz (oder eine> andere freie Lizenz).
Da halte ich auch für das sinnvollste, aber Josef benötigt diesbezüglich
ja eine Sonderlocke. Bei Github kann man beim Anlegen eines Projektes
einfach einer der etablierten Lizenzen auswählen, und schon steht das
entsprechende Grundgerüst mit allen relevanten Einstellungen. "Damals"
hatte ich ja sogar schon einen entsprechenden Account für Josef bei
Github eingerichtet.
Die jetzige "völlige Freigabe" macht die Sache nicht einfacher, sondern
eher schwieriger, denn Josef bleibt ja nach wie vor der Hautautor, mit
dessen Namen ja auch der Lizenztext versehen wird. Also darf auch kein
Dritter einfach einen beliebigen Lizenztext aussuchen und Josef als
Autor darin eintragen. Und sich selbst als Autor einzutragen, geht noch
weniger, denn die Urheberschaft besteht ja nach deutschem Recht weiter.
Und die Erfahrung zeigt ja, dass Josef die geeigneten(!) etablierten
Lizenzen bzw. -texte ablehnen und lieber etwas ungeeignetes wie CC
aussuchen und Beratungsresistenz demonstrieren wird.
Andreas S. schrieb:> Da halte ich auch für das sinnvollste, aber Josef> benötigt diesbezüglich ja eine Sonderlocke.
Naja, das finde ich persönlich nicht so schlimm. Die gewählte "völlige
Freigabe" entspricht so ungefähr dem Versuch einer BSD0 oder Public
Domain-Freigabe, nur in weniger klug. Kann man mit leben.
Mir ging es in meinem Beitrag eher darum, dass er die Bedingungen
sinnvoll zum Code in die ZIP-Datei packt, statt irgendwo einen
Dreizeiler auf eine Webseite zu kippen und zu hoffen, dass das reicht
(tut es nämlich nicht).
S. R. schrieb:> Naja, das finde ich persönlich nicht so schlimm. Die gewählte "völlige> Freigabe" entspricht so ungefähr dem Versuch einer BSD0 oder Public> Domain-Freigabe, nur in weniger klug. Kann man mit leben.
Ich sehe das Problem nicht.
Den Erguss von Josef G. will doch auf der ganzen Welt nicht ein einziger
Mensch irgendwie nachnutzen!
Michael schrieb:> gesagt: weil wir 10 "Knubbel" an den Händen haben. Er ist übrigens> Kulturforscher.
Wahrscheinlich hatten deshalb die Ägypter ein 5er-System.
Route_66 H. schrieb:> Den Erguss von Josef G. will doch auf der ganzen Welt nicht ein einziger> Mensch irgendwie nachnutzen!
Die Welt dreht sich weiter. Erst gab es ein 4-Bit-System, dann nutzte
man das 8-Bit-System. Später gab es 16-Bit. Damit kann man schon sehr
viel machen, während man das Meiste im 8-Bit System durch Algebra
aufteilen musste.
Unter 16 Bit wird keiner einen Prozessor einsetzen es sei denn er hat
Code für den alten 8-Bitter. Und da gibt es 6502- und Z80/ 8085
EMulatoren für das was in den Heimcomputern verbaut war.
Einen neuen 8-Bitter braucht keiner mehr.
Einen 64er könnte man gebrauchen.
Es gibt eine Änderung des Gesamtsystems:
Die Übertragung der Software vom Block-RAM des FPGA ins externe RAM
bei der Initialisierung erfolgt jetzt durch die CPU und nicht mehr
durch eine spezielle Hardware. Damit entfällt die spezielle Hardware.
Und jetzt hat nur noch die CPU Zugriff auf das externe SDRAM. Dadurch
ist die Ansteuerung des SDRAMs jetzt sehr viel übersichtlicher.
Route_66 H. schrieb:> Den Erguss von Josef G. will doch auf der ganzen Welt nicht ein einziger> Mensch irgendwie nachnutzen!
Doch. IT-Pathologen werden es als abschreckendes Beispiel nutzen können.
Psychiologen als Studienobjekt für Zwangsstörungen und Autismus.
Ich würde mir das Projekt tatsächlich gerne mal etwas näher ansehen.
Scheinbar basiert der Prozessor ja auf keiner bekannten Architektur und
vielleicht gibt es ja das ein oder andere Novum. :)
Aber ich finde die Dokumentation wirklich "kompliziert". Da es sich ja
eh um ein open-source-Projekt handelt, sehe ich nicht wirklich ein
Problem, warum man das ganze nicht auf GitHub/Gitlab/ und Konsorten
veröffentlichen sollte.
Als kleines Extra-Bonbon hätte man dann auch eine zentrale Plattform, wo
Iteressierte die Entwicklung genauer verfolgen und sich ggf. über
Diskussionen und Issues beteiligen könnten. Neuerungen in einem
Forumsbeitrag, der über mehrere Seiten geht und auch ziemlich viele
"off-topic "Kommentare hat, zu finden und nachzuverfolgen finde ich
persönlich sehr schwierig (vorsichtig gesagt).
Was mir aber absolut fehlt, ist ein Block-Diagramm des Prozessors. Ich
finde sowas immer extrem hilfreich, da so ein Bild den Aufbau dann doch
besser vermittelt als eine Seite Text. Von mir aus kann das auch mit
Paint gefummelt sein. Sogar ein einfacher Screenshot vom RTL-Viewer wäre
schon hilfreich, um einen groben Überblick zu bekommen.
Grüße,
Lexi
Falk B. schrieb:> Psychiologen als Studienobjekt für Zwangsstörungen und Autismus.
Was meinst du, wieviele Psychologen verirren sich hierher? Nicht dass es
hier an Studienobjekten mangeln würde, aber seit Uhus Abgang fehlt sogar
die kognitive Dissonanz als Basso continuo.
lexi schrieb:> Was mir aber absolut fehlt, ist ein Block-Diagramm des Prozessors.
Ein solches Blockdiagramm habe ich nicht, nicht mal im Kopf.
Ich verstehe auch nicht, was ein solches Diagramm bringen sollte.
Entscheidend ist doch der Befehlssatz einschließlich Timing
und das Verhalten der aussen sichtbaren Steuersignale.
Falls dich der innere Aufbau interessiert, sieh dir die Seite
CPU-arch.txt im Verzeichnis info des Downloadfiles an. Besser
kann ich es nicht erklären. Ist allerdings zum Teil veraltet,
weil ich zwischenzeitlich den Einlesezeitpunkt der Daten
vom Datenbus ein wenig nach hinten verschoben habe.
> Aber ich finde die Dokumentation wirklich "kompliziert".
Es kann gerne jemand eine bessere Dokumentation erstellen.
Erwin schrieb im Beitrag #6651961:
> Was Bome hier an Diebstahl der Lebenszeit anderer betreibt ist ja> langsam grenzwertig.
Was soll denn dieser blödsinnige Satz? Hat dich irgedwer gezwungen, dir
das anzuschauen?
Sinus T. schrieb:> Erwin schrieb:>> Was Bome hier an Diebstahl der Lebenszeit anderer betreibt ist ja>> langsam grenzwertig.>> Was soll denn dieser blödsinnige Satz? Hat dich irgedwer gezwungen, dir> das anzuschauen?
Darin steckt mehr Wahrheit als Du zunächst glaubst.
Kann aber gut sein daß die Lebenszeit des einen wertvoller ist als die
des anderen.
:->
Ich schau hier eigentlich nur rein, weil ich offenbar gehässig bin und
mich daran amüsiere, dass sich Leute ernsthaft an Josef aufreiben.
Ich kann mit dem Projekt auch nichts anfangen, aber was um alles in der
Welt bringt es an Nährwert, sich darüber auf zu regen, was Josef macht
und ihn davon abbringen zu wollen?
Vielleicht ist der Thread in Wirklichkeit von einem Psychologen
betrieben, der ausprobiert "Wie kleinkariert kann man sein?".
Habe nun auch eine Realisierung auf dem DE0-CV-Board mit CycloneV.
Der SD-Card-Slot des Boards ist nur für micro-SD-Karten. Es gibt
aber Adapter zu kaufen für Standard-SD-Karten. Selber anschließen
muss man ausserdem ein RS232-Modul, etwa Pmod-RS232 von Digilent.
Damit gibt es nach längerer Zeit nun wieder eine Realisierung
auf einem aktuellen Board, das keine große Bastelei erfordert
und mit aktueller Software programmierbar ist.
-----------
Habe bisher Quartus 13.0 SP1 verwendet. Die Synthese meldete stets
automatically promoted bei den Takten vclk, cl1, cl2. Nun habe ich
Quartus-Prime-Lite 20.1 getestet, da fehlte diese Meldung. Deshalb
habe ich jetzt bei den Altera-Boards für vclk, cl1, cl2 explizit
Clock-Buffer instanziert. Der von aussen kommende Takt clk wird
auch bei Quartus-Prime-Lite automatisch als Clock geroutet.
Josef G. schrieb:> Damit gibt es nach längerer Zeit nun wieder eine Realisierung> auf einem aktuellen Board
Danke!
Da habe ich schon ewig drauf gewartet.
Andreas S. schrieb:> S. R. schrieb:>> Am einfachsten stellst du den Code unter eine BSD-Lizenz>> (oder eine andere freie Lizenz).>> Da halte ich auch für das sinnvollste,> aber Josef benötigt diesbezüglich ja eine Sonderlocke.
Nach meiner Kenntnis sind die Bereitsteller von Open-Source-Lizenzen
selber Vertagspartner im Verhältnis zwischen Nutzer und Inhaber des
Urheberrechts. Das kann dazu führen, dass der Urheber nicht mehr
die Möglichkeit hat, einem Anwender die Weiterentwicklung ohne
Offenlegung des Quellcodes zu gestatten. Das möchte ich nicht.
S. R. schrieb:> Mir ging es in meinem Beitrag eher darum, dass er die Bedingungen> sinnvoll zum Code in die ZIP-Datei packt, statt irgendwo einen> Dreizeiler auf eine Webseite zu kippen und zu hoffen, dass das> reicht (tut es nämlich nicht).
Warum nicht? Der Anwender muss dann halt einen Screenshot sichern.
Wenn die Bedingungen in der ZIP-Datei stehen, gibt es auch keine
Gewähr, dass nicht ein anderer sie nachträglich dazugepackt hat,
sofern die Datei weitergegeben wird.
Josef G. schrieb:> Nach meiner Kenntnis sind die Bereitsteller von Open-Source-Lizenzen> selber Vertagspartner im Verhältnis zwischen Nutzer und Inhaber des> Urheberrechts. Das kann dazu führen, dass der Urheber nicht mehr> die Möglichkeit hat, einem Anwender die Weiterentwicklung ohne> Offenlegung des Quellcodes zu gestatten. Das möchte ich nicht.
Deine Kenntnis hat leider überhaupt nichts mit der Realität zu tun.
Die "Bereitsteller" der Lizenzen haben maximal (manchmal) das
Urheberrecht am Lizenz-TEXT selbst. Aber keinerlei Rechte am dem
geschützten Werk. Das geschützte Werk ist allein unter deiner Kontrolle.
Josef G. schrieb:> Habe nun auch eine Realisierung auf dem DE0-CV-Board mit CycloneV.
Gibt es eigentlich aktuelle Eckzahlen der Implementierung?
Also sowas wie Anzahl der LUTs, FFs, BRAMSs, DSPs, ... für CPU bzw. das
ganze SoC? Interessant wären auch maximale Taktrate und sowas wie CPI
(cycles per instruction) oder Benchmark-Ergebnisse (z.B. Coremark).
lexi schrieb:> Also sowas wie Anzahl der LUTs, FFs, ...
Fitter-Meldungen beim DE0-CV mit CycloneV:
Gesamtsystem: 1538 LUTs, 909 FFs. CPU: 840 LUTs, 462 FFs.
DSPs: keine
BRAMs werden 32 KByte gebraucht für das Video-RAM,
gleichzeitig für die Initialisierung der Software.
Zur maximalen Taktrate kann ich nichts sagen, ich habe bisher
um Timing-Constraints einen großen Bogen gemacht, das ist mir
zu kompliziert. Bei den Altera-Boards habe ich bisher nicht
einmal die Frequenz des eingespeisten Taktes angegeben.
In der derzeitigen Implementierung mit nur einem CPU-Takt
hat dieser die Periode 320 ns und Tastgrad 25 Prozent.
Tastgrad 50 Prozent sollte auch funktionieren. Dann hätte die
Peripherie weniger Zeit, um nach Ausgabe einer Adresse durch
die CPU zu entscheiden, ob ein REP-Signal erforderlich ist.
Ein Taktzyklus von 320 ns entspricht in meiner Terminologie
einem Halbzyklus der CPU. Ein Vollzyklus besteht aus den
Halbzyklen tA und tB. Speicherzugriffe erfolgen während tA.
Das inaktive tB steht für SDRAM-Refresh zur Verfügung.
Befehle dauern vorhersagbar 1 oder 2 oder 3 Vollzyklen. Letzteres
gilt für Verzweigungen, falls der Sprung ausgeführt wird. Es gibt
auch noch einen langen NOP-Befehl mit 3 bis 257 Vollzyklen.
Siehe auch 8bit-CPU: bo8
Josef G. schrieb:> Zur maximalen Taktrate kann ich nichts sagen, ich habe bisher> um Timing-Constraints einen großen Bogen gemacht, das ist mir> zu kompliziert. Bei den Altera-Boards habe ich bisher nicht> einmal die Frequenz des eingespeisten Taktes angegeben.
Das ist nicht kompliziert!
Für Altera geht das so:
1. eine sdc-Datei (=normale Textdatei) anlegen, mit folgendem Inhalt:
Nur der Portname und die Periodendauer müssen ggf. angepasst werden.
2. diese Datei zum Projekt hinzufügen; in der qsf-Datei gibt es dann
eine Zeile die so aussieht:
1
set_global_assignment -name SDC_FILE timing.sdc
Hier muß der richtige Dateiname von 1. drinstehen.
Der Timinganalyzer kann dann feststellen, ob die Logik übertaktet wird,
oder wieviel 'Luft' bei der gegebenen Taktfrequenz noch bleibt.
Josef G. schrieb:> ich habe bisher> um Timing-Constraints einen großen Bogen gemacht, das ist mir> zu kompliziert.
Das kann ich kaum glauben. Du bist doch Experte für "Warum einfach,
wenns auch kompliziert geht".
Frank schrieb:> "Warum einfach,> wenns auch kompliziert geht"
Bei der Variante für den S3E wird der 50 MHz Eingangstakt mit einem DCM
auf 100 MHz verdoppelt.
Diese 100 MHz werden für den DDR-Speichercontroller verwendet und
nebenbei per FF wieder auf 50 MHz runtergeteilt.
Aus diesen 50 MHz werden dann 3,125 MHz für die CPU (und andere
Komponenten gemacht). Die CPU braucht zwei phasenverschobene Takte,
warum auch immer. WIMRE habe ich sowas beim Intel 8080 zum letzten Mal
gesehen.
Also alles ganz einfach.
Hier noch ein Auszug aus dem CPU-Code:
Bernd schrieb:> Die CPU braucht zwei phasenverschobene Takte,
Nein. Die Entity hat zwei Takteingänge für zwei phasenverschobene
Takte. Von dem einem wird nur die steigende Flanke gebraucht, vom
anderen nur die fallende Flanke. Es ist deshalb möglich, beide
Eingänge mit demselben Takt zu versorgen. Und so wird das in
der derzeitigen Implementierung auch gemacht.
Josef G. schrieb:> Nein. Die Entity hat zwei Takteingänge für zwei phasenverschobene> Takte. Von dem einem wird nur die steigende Flanke gebraucht, vom> anderen nur die fallende Flanke. Es ist deshalb möglich, beide> Eingänge mit demselben Takt zu versorgen. Und so wird das in> der derzeitigen Implementierung auch gemacht.
Wenn Du keine Constraints für die Takte angegeben hast und diese über
separate externe Taktsignale versorgt werden können, muss das
Synthesewerkzeug davon ausgehen, dass die Takte in keinem festen Bezug
zueinander stehen. Damit verhindert man natürlich jegliche
Optimierungen.
Wenn jedoch beide Taktsignale aus demselben FPGA-internen Taktgenerator
stammen, werden meist automatisch die daraus resultierenden
Takt-Constraints erzeugt.
Es ist übrigens eine Katastrophe, solche Takte selbst durch
Herunterteilen zu erzeugen. Stattdessen sollte man in solchen Fällen nur
ein einziges Taktsignal verwenden und ggf. mehrphasige Clock Enables
verwenden. Dann können nämlich viel besser die FPGA-internen
Verteilnetze für Takte eingesetzt werden.
Frank schrieb:> Das kann ich kaum glauben. Du bist doch Experte für "Warum einfach,> wenns auch kompliziert geht".
Das hat Josef doch auch mal wieder exzellent zur Schau gestellt... Und
zwar in der Variante "kompliziert und scheiße" statt "kompliziert, aber
ausgezeichnet".
Andreas S. schrieb:> Das hat Josef doch auch mal wieder exzellent zur Schau gestellt... Und> zwar in der Variante "kompliziert und scheiße" statt "kompliziert, aber> ausgezeichnet".
Niemand ist unnütz, er kann auch als abschreckendes Beispiel dienen.
Andreas S. schrieb:> Es ist übrigens eine Katastrophe, solche Takte> selbst durch Herunterteilen zu erzeugen.
Bei den mir bekannten FPGAs ist das Aufschalten
solcher Takte auf Clock-Buffer problemlos möglich.
Man muss dann halt berücksichtigen, dass der erzeugte Takt
eine kleine Verzögerung gegenüber der erzeugenden Flanke
des Master-Clocks aufweist.
Josef G. schrieb:> Man muss dann halt berücksichtigen, dass der erzeugte Takt> eine kleine Verzögerung gegenüber der erzeugenden Flanke> des Master-Clocks aufweist.
Und genau DAS geht, vor allem bei Anfängern oft schief. Also macht man
es GLEICH richtig. Denn dann geht es automatisch!
Taktung FPGA/CPLD
Anita H. schrieb:> Was kann man mit dem Board alles machen?
Mit den FPGA-Boards? Oder mit dem Projekt?
Zu FPGA-Boards fragst du besser die Fachleute im FPGA-Forum.
Zum Projekt:
Einzige bisher realisierte Anwendung ist Conway's Game of Life.
Eigentliches Ziel des Projekts ist die Etablierung
eines Zeichensatzes mit sechzehn Ziffern.
Josef G. schrieb:> Bei den mir bekannten FPGAs ist das Aufschalten> solcher Takte auf Clock-Buffer problemlos möglich.
Ja, natürlich bekommt man fast beliebige Signale irgendwie an den
Eingang eines Clock Buffers und damit in die Taktverteilung.
> Man muss dann halt berücksichtigen, dass der erzeugte Takt> eine kleine Verzögerung gegenüber der erzeugenden Flanke> des Master-Clocks aufweist.
Genau DAS ist ja das große Problem. Bei diskret aufgebauten
Schaltungen kann man sich natürlich bei kaskadierten Registern oft nicht
sicher sein, ob die Daten oder der Takt zuerst ankommen und ob die
Setup-Zeiten korrekt eingehalten werden. In solchen Fällen arbeitet man
natürlich mit mehrphasigen Takten bzw. mit beiden Flanken eines Taktes.
Dort ist so etwas ein gutes Design.
Bei FPGA ist das aber nicht erforderlich, da durch die physikalische
Struktur sichergestellt ist, dass die Setup-Bedingungen eingehalten
werden. Natürlich nur unter der Voraussetzung, dass es sich um dasselbe
Taktsignal handelt und nicht um mehrere "manuell" gegeneinander
versetzten Takte. Moderne Synthesewerkzeuge werden einem so etwas aber
um die Ohren hauen. Nein, es ist keine gute Idee, irgendeine
Steinzeitversion zu verwenden, die solch einen Taktpfusch nicht erkennt.
Nein, es ist keine gute Idee, die entsprechenden Fehlermeldungen zu
unterdrücken.
Die Block-RAM-Entity für die Xilinx-Boards hatte bisher einen
Schreib-Lese-Port und einen unabhängigen zweiten Leseport. Der
Versuch, die Entity auch beim Altera-DE0 zu verwenden, führte
vor langer Zeit zu einer Fehlermeldung. Ich habe dann für die
Altera-Boards eine andere Entity erstellt mit nur einem
Schreibport und nur einem davon unabhängigen Leseport.
Nun habe ich auch die Xilinx-Boards auf diese zweite Version
umgestellt. Damit entfällt im Download-File die ursprüngliche
Xilinx-Version mit ihrer Kopie der System-Software. Jetzt ist
es einfacher, alle Projekt-Realisierungen zu vergleichen.
Ausserdem habe ich nun auch bei den Xilinx-Boards explizit
Clock-Buffer für die Takte vclk und cl1 instanziert für den
Fall, dass eine neue ISE-Version das nicht automatisch macht.
Beitrag "Re: 8bit-Computing mit FPGA"
cl2 wird lokal geroutet. Das schadet nicht, weil die mit cl2
getakteten FFs nie gleichzeitig gelesen und geschrieben werden
und deshalb nicht genau gleichzeitig schalten müssen. Routing
mittels Clock-Buffer würde ausserdem zu Warnungen führen, weil
cl2 an vielen Stellen als Enable und nicht als Takt dient.
Josef G. schrieb:> Routing> mittels Clock-Buffer würde ausserdem zu Warnungen führen, weil> cl2 an vielen Stellen als Enable und nicht als Takt dient.
Was will dir die Welt und die Software damit sagen?
Josef G. schrieb:> Bei den 7-Segment-Ziffern habe ich mich nun für diese Version> entschieden.
Das B wie "Bube" erkenne ich als P wie "Puppe", das D sieht eher wie
Lambda aus.
Warum akzeptierst Du nicht die Standards A b C d E F für
Siebensegmentanzeigen? Diese sind allesamt lesbarer und eindeutiger
als Deine "Erfindung", die mit unseren lateinischen Buchstaben nicht
vereinbar sind.
Ich kann sogar hier
1
A b C d E F
in ASCII hinschreiben und man erkennt sofort die Anordnung der Segmente
- die Zuordnung ist "eineindeutig". Ich brauche noch nichtmals Bilder
von den Segmenten anzuhängen!
Bei Dir ist das anders. Sowohl Dein "P" als auch Dein "Lambda" sind
nicht als die Hexziffern B und D zu erkennen. Also unbrauchbar.
Frank M. schrieb:> Warum akzeptierst Du nicht die Standards A b C d E F für> Siebensegmentanzeigen?
Das haben wir schon JAHRELANG diskutiert! Josef ist ein Autist.
Josef G. schrieb:> Eigentliches Ziel des Projekts ist die Etablierung> eines Zeichensatzes mit sechzehn Ziffern.
Eigentlich denke ich auch, dass man als Hobby machen kann, was man will
- egal wie sinnvoll oder zeitintensiv -
aber wenn das ernsthaft das Ziel ist, das globale Standard-Zahlensystem
von dec nach hex zu ändern, dann ist das Zeitverschwendung.
Jasson J. schrieb:> Eigentlich denke ich auch, dass man als Hobby machen kann, was man will> - egal wie sinnvoll oder zeitintensiv -> aber wenn das ernsthaft das Ziel ist, das globale Standard-Zahlensystem> von dec nach hex zu ändern, dann ist das Zeitverschwendung.
Oder Zen . . . ;-)
https://de.wikipedia.org/wiki/Zen
"Im Zen wird oft gesagt, dass Zen „nichts“ biete: keine Lehre, kein
Geheimnis, keine Antworten."
ZEN-IT, der nächste, große Trend!
ZEN-tral processing unit ;-)
Jasson J. schrieb:> aber wenn das ernsthaft das Ziel ist, das globale> Standard-Zahlensystem von dec nach hex zu ändern,
Auch ohne dieses Ziel wäre die Etablierung eines Zeichensatzes mit
sechzehn Ziffern in einem zusammenhängenden Code-Bereich sinnvoll.
Falk B. schrieb:> "Im Zen wird oft gesagt, dass Zen „nichts“ biete: keine Lehre, kein> Geheimnis, keine Antworten."
Dieser Thread scheint denen, die seit Jahren davon reden das das hier
alles keinen Sinn macht, aber wenigstens ganz gut die Zeit zu
vertreiben.
Es ist doch egal was Josef postet, es erzeugt jede Menge Reaktionen.
Auch wenn sich seit Anbeginn dieses Threads das Ding um sich selber
dreht, eigentlich nix neues dazukommt und nur der immer gleiche Mist in
immer neuen Variationen durchgekaut wird. Neuer Zeichensatz, CPU wurde
umdesignet, die korrekte Benennung des Hex Systems das die Welt erobert
wird gesucht und die BO8 läuft jetzt auf dem nächsten FPGA Board.
Neue Leute kommen dazu und führen die Diskussion die schon 100 andere
vor ihnen geführt haben, regen sich mehr und mehr auf, verlassen den
Thread und neue kommen dazu.
Der Einzige der dauerhaft ernsthaft dabei ist, ist Josef.
Schon irgendwie geil, das man sich in FPGAs, unglaublich bescheidene
Doku und gruseligen Code einarbeiten soll, weil man dann ganz einfach
Computersysteme verstehen kann, laut Josef.
Dabei hat eigentlich keiner ein Problem Computer zu verstehen, nur eben
mit Josefs gemurkse tut man sich schwer und sieht auch den Sinn nicht.
Es macht nix besser, nichts schneller oder billiger, ist in jedem
einzelnen Punkt schlechter als etwas beliebig anderes und scheint nur
dazu zu taugen den Erschaffer dieses Moloch runterzuputzen und sonst
nichts.
Die Logig dabei ist irgendwie traurig, aber auch lustig, auf eine eher
schmerzvolle fremdschäm Weise. Knuddeln, zuschlagen oder kopfschüttelnd
das Weite suchen. Man weiß es oft nicht.
Wäre es ein Trollthread, wäre es der erfolgreichste aller Zeiten.
>Es macht nix besser, nichts schneller oder billiger, ist in jedem>einzelnen Punkt schlechter
840 LUTs für eine 8Bit CPU scheint mir aber recht klein:
Beitrag "Re: 8bit-Computing mit FPGA"
Wie ist das mit anderen 8Bit CPUs?
lexi schrieb:> https://github.com/stnolting/neo430#FPGA-Implementation-Results
Aus deinem Link (Zitat):
Each single instruction is executed in a series of micro instructions
requiring several clock cycles to complete. The main benefit of this
execution style is the highly reduced logic overhead as no complex
pipeline hazard detection and resolving logic is required. This makes
the NEO430 even smaller - at the cost of a reduced IPC (instructions per
cycle).
Josef G. schrieb:> Nach meiner Kenntnis sind die Bereitsteller von> Open-Source-Lizenzen selber Vertagspartner im> Verhältnis zwischen Nutzer und Inhaber des Urheberrechts.
Das ist schlicht falsch.
Wenn du deinen Code der Allgemeinheit unter einer BSD-Lizenz
bereitstellst, dann hat die Universität Berkeley damit nichts zu tun.
> Das kann dazu führen, dass der Urheber nicht mehr> die Möglichkeit hat, einem Anwender die Weiterentwicklung ohne> Offenlegung des Quellcodes zu gestatten. Das möchte ich nicht.
In der Lizenz steht drin, was der Urheber darf und was der Anwender
darf. Diese Bedingungen gelten.
Darüber hinaus darf die Urheberschaft auch weitere Lizenzbedingungen mit
der Nutzerschaft vereinbaren, auf die diese Lizenz keinen Einfluss hat
(z.B. Sonderlocken für kommerzielle Nutzung), aber es obliegt der
Nutzerschaft, diese Optionen auch zu wählen.
>> Mir ging es in meinem Beitrag eher darum, dass er die Bedingungen>> sinnvoll zum Code in die ZIP-Datei packt, statt irgendwo einen>> Dreizeiler auf eine Webseite zu kippen und zu hoffen, dass das>> reicht (tut es nämlich nicht).>> Warum nicht? Der Anwender muss dann halt einen Screenshot sichern.
Weil man üblicherweise nur das Quelltextpaket benutzt, aber nicht die
Herstellerwebseite runterlädt und abspeichert. Das hat was mit
Praktikabilität zu tun.
Nutzt man Open-Source-Software in kommerziellen Produkten, muss man
üblicherweise deren Lizenztexte veröffentlichen und manchmal auch die
exakt verwendeten Quelltexte. Dafür gibt es automatisierte Systeme, wo
man vorne die ZIP-Datei oder den Tarball reinkippt, dazu noch die
eigenen Patches, und die extrahieren daraus genau das, was nach den
Lizenzbedingungen extrahiert und veröffentlicht werden muss.
Dein Ansatz ist schlicht unpraktisch.
> Wenn die Bedingungen in der ZIP-Datei stehen, gibt es auch keine> Gewähr, dass nicht ein anderer sie nachträglich dazugepackt hat,> sofern die Datei weitergegeben wird.
Ich unterstelle keine Bösartigkeit. Normalerweise möchte ich aber mit
der Originalquelle arbeiten und nicht mit einem irgendwie verändertem
Stand. Da weiß ich nämlich nicht, ob noch irgendwelche anderen Dinge
gemacht wurden.
Wie gesagt, es gibt ein paar Dinge, mit denen du das Projekt
verbessern kannst, unabhängig von der Technik. Mit einer Standardlizenz
und einer Standardstruktur erlaubst du nämlich Standardarbeitsabläufe in
der Nutzung.
Josef G. schrieb:> Each single instruction is executed in a series of micro instructions> requiring several clock cycles to complete. The main benefit of this> execution style is the highly reduced logic overhead as no complex> pipeline hazard detection and resolving logic is required. This makes> the NEO430 even smaller - at the cost of a reduced IPC (instructions per> cycle).
Ohje, und trotzdem erreicht das Ding "nur" 100-121 MHz! Wie hoch ist
nochmal dein Werk getaket? Wieviele Takbuffer und sonstigen Schmarn
benötigt es?
Der Thread hier ist gut zur Unterhaltung, hab viele (aber sicher nicht
alle) Beiträge gelesen. Dieser Post ist hier meinen erster und soll auch
der einzige bleiben.
Personen wie Josef haben Ansichten die der Mehrheit der Community
widersprechen. Wer wie er keine Macht hat redet drüber aber kann
faktisch nichts ändern. Manche andere dagegen haben die Macht und
schaffen es ihre von der Mehrheit abweichende Einstellung durchzusetzen
oder zumindest am Leben zu halten, egal ob sinnvoll oder nicht. Mir
fallen hier drei Beispiele ein die doch wieder technisch relevant sind
und mal zum überdenken dienen sollen (auch dir, Josef):
- Bitorder beim PowerPC: Die ganze Welt hat von Anfang an das
niederwertigste Bit als 'b0' bezeichnet, das höchstwertige entsprechend
als b7,b15,b31,b63,.. Dann kam in den 80ern IBM mit dem PowerPC, genau
andersrum b31/b63 ist das LSB (bei 32/64bit Architektur). Wer jetzt
PowerPC und andere Architekturen parallel bedienen muss, treibt viel
Gehirnjogging... (War das nötig?)
- Gelöschte Flash/Eprom Zellen haben Bitwert '1' : Die ganze Welt macht
das so, nein es gibt einen Widerständler: Infineon-Chips (z.B. TriCore)
lesen eine '0' nach dem löschen. Hier gibt es sogar eine sinnvolle
Erklärung: In C ist frischer Speicher mit '0' initialisiert, warum also
das nicht auch beim Flash? Diese aus meiner Sicht sogar sinnvolle
Änderung sehe ich hier nur bei denen, andere haben es bisher nicht
übernommen. Schreibt man generischen Code für verschiedene
Prozessorarchitekturen, muss man das mit Fallunterscheidung
berücksichtigen. Macht Aufwand, aber leider nicht zu ändern...
- Little Endian / Big Endian: das ist ja so richtig alt. Eine 8bit
Maschine kommt einfach nicht aus ohne mindestens 16bit Werte für
Adressen. Die damals konkurrierenden Hersteller Motorola und Intel haben
sich hier verschieden entschieden und das ist bis heute noch so, man
muss beides unterstützen in gemischten Welten (vor 35 Jahren als
Student, und heute immer noch im Job kurz vor der Rente). Beide haben
logisch nachvollziehbare Gründe: BigEndian liest sich für den Menschen
besser (HighByte zuerst, so wie man Zahlen eben schreibt), littleEndian
ist im Zugriff besser wenn man verschiedene Sizes mischen will: Der
Pointer zeigt immer auf das LowByte, egal ob 8,16,32,64bit
Durchgesetzt hat sich keine, verschiedene Architekturen können
inzwischen einfach umschaltbar beide (Der Pragmatismus hat hier über den
Dogmatismus gesiegt)
So Josef, ich wünsche dir viel Spaß mit deinen Ideen und den Mitlesern
gute Unterhaltung. Nach 30 Jahren im Job habe ich die Hoffnung
aufgegeben dass die beste Lösung gewinnt, es hängt immer an der
Machtposition der Protagonisten. Also bleibt pragmatisch, weshalb ich
mir keinen neuen 8bitter antue. 6502,Z80,AVR reichen mir. Die 16bitter
sind für mich out, hab mich zu oft über die Segmentbedingten Fehler im
HC16 geärgert. 32bit rulez in Embedded, nach meinem Abtritt dann
natürlich mal die 64bitter (PS: Das 32bit Linux/Unix Datum läuft bei
Interpretation als uint32 erst im Jahr 2104 ab, da bin ich schon tot und
es kann mir egal sein... Manche Kollegen wollen ja jetzt schon unbedingt
auf 64bit, auch auf 32bit Architekturen. Kosten/Nutzen egal, Der Begriff
'atomic read size' vielen nicht bekannt)
Es bleibt mein einziger Comment hier, viel Spass beim weiterlesen dieses
Record-Threads aus dem Jahr 2013....
Der Reinhold
Reinhold E. schrieb:> Die ganze Welt hat von Anfang an das> niederwertigste Bit als 'b0' bezeichnet
Nein, zumindest bei der DEC PDP8 und der Data General NOVA war das LSB
auch das Bit11 bzw. Bit15
Reinhold E. schrieb:> (PS: Das 32bit Linux/Unix Datum läuft bei Interpretation> als uint32 erst im Jahr 2104 ab,
Ich glaube, du meinst das Jahr 2038. Das ist nicht mehr so weit weg,
allerdings haben die meisten Unixoide ihr time_t schon länger auf 64 Bit
erweitert.
Betrachtet man die Timestamps als unsigned, reichen sie noch bis 2106.
> Manche Kollegen wollen ja jetzt schon unbedingt auf 64bit,> auch auf 32bit Architekturen. Kosten/Nutzen egal, Der Begriff> 'atomic read size' vielen nicht bekannt)
Wie willst du auf einer 32-Bit-Architektur ein 64-Bit-Betriebssystem
fahren?
S. R. schrieb:> Reinhold E. schrieb:>> Manche Kollegen wollen ja jetzt schon unbedingt auf 64bit,>> auch auf 32bit Architekturen. Kosten/Nutzen egal, Der Begriff>> 'atomic read size' vielen nicht bekannt)>> Wie willst du auf einer 32-Bit-Architektur ein 64-Bit-Betriebssystem> fahren?
Warum sollten auf einer 32-Bit-Architektur keine 64-Bit-Datentypen
genutzt werden können? Selbst für Betriebssystemfunktionen wären sie
kein Tabu.
Jasson J. schrieb:> wenn das ernsthaft das Ziel ist, das globale> Standard-Zahlensystem von dec nach hex zu ändern,> dann ist das Zeitverschwendung.
Warum? Weil es aussichtslos ist?
Oder weil es gar nicht wünschenswert ist?
Josef G. schrieb:> Jasson J. schrieb:>> wenn das ernsthaft das Ziel ist, das globale>> Standard-Zahlensystem von dec nach hex zu ändern,>> dann ist das Zeitverschwendung.>> Warum? Weil es aussichtslos ist?> Oder weil es gar nicht wünschenswert ist?
BINGO! 2x voll ins Schwarze!
Content B. schrieb:> Was kann ich mit dem Bo8 machen?
Vermutlich meinst du das Gesamtsystem bo8h, nicht die CPU bo8.
Die Funktionen testen und dich freuen, dass er funktioniert.
Eigene Hardware-Erweiterungen und zugehörige Software entwickeln
und veröffentlichen. Ein marktfähiges Fertiggerät daraus entwickeln.
Eine Anwendung ausser als technisches Spielzeug weiss ich nicht.
Josef G. schrieb:> Ein marktfähiges Fertiggerät daraus entwickeln.
Genau das lässt schon die unklare rechtliche Lizenzsituation nicht zu.
Und wie sich neulich gezeigt hat, verwendest Du ja offenbar auch ein und
dasselbe Signal als Takt und als Clock Enable. Darauf ein kommerzielles
Produkt aufzubauen ist viel zu riskant, da es jeglichen guten
Entwurfsmuster widerspricht.
Andreas S. schrieb:> Darauf ein kommerzielles Produkt aufzubauen ist viel zu riskant,
Es steht jedermann frei, es besser zu machen.
Bei Xilinx kriegt man eine Warnung, wenn man einen "BUFG" für Enable
verwendet. Bei Altera/Intel heissen die Clock-Buffer "GLOBAL" und
sind ausdrücklich für Takte und Signale wie Enables vorgesehen.
Andreas S. schrieb:> die unklare rechtliche Lizenzsituation
Bei meiner Freigabe-Erklärung muss ein Vermarkter
nicht mal eigene Quelltexte offenlegen.
Im Übrigen: Ich habe bisher nicht mal von meiner eigenen Software
einen Quelltext in maschinell lesbarer Form. Den müsste ich erst
noch erstellen, falls Interesse besteht. Schon allein das
spricht gegen die Verwendung einer Open-Source-Lizenz.
Josef G. schrieb:> Andreas S. schrieb:>> die unklare rechtliche Lizenzsituation>> Bei meiner Freigabe-Erklärung muss ein Vermarkter> nicht mal eigene Quelltexte offenlegen.
Niemand wird auf dem aktuellen Stand ein reales Produkt entwickeln.
Bei solchen Sachen muss man sich immer die folgende Frage stellen: "Wie
würde ein Richter, der von der Vorgeschichte keine Ahnung hat und die
ihn auch nicht im geringsten interessiert, entscheiden?".
Der Richter würde in den Formulierungen Deiner Freigabe-Erklärung
etliche rechtliche Mängel sehen. Und damit würde er sie vermutlich für
völlig unwirksam erklären. Somit griffen dann die normalen gesetzlichen
Bestimmungen, d.h. Du hättest das (nach deutschem Recht ohnehin niemals
abtretbare!) Urheberrecht und die Dritte höchstens ein einfaches
Nutzungsrecht.
Würde ein Dritter Dein Projekt nehmen und unter einer gebräuchlichen
Open-Source-Lizenz veröffentlichen, würde er damit ggf. auch die von Dir
gegenüber Dritten eingeräumten Rechte einschränken. Das ist rechtlich
ein viel zu heißes Eisen.
Und wie schon gesagt: ich habe bereits vor Monaten bei Github einen
entsprechenden Bereich eingerichtet, aber dort natürlich keine Deiner
Quellen abgelegt.
> Im Übrigen: Ich habe bisher nicht mal von meiner eigenen Software> einen Quelltext in maschinell lesbarer Form. Den müsste ich erst> noch erstellen, falls Interesse besteht. Schon allein das> spricht gegen die Verwendung einer Open-Source-Lizenz.
Hä? Nö.
Andreas S. schrieb:>> Bei meiner Freigabe-Erklärung muss ein Vermarkter>> nicht mal eigene Quelltexte offenlegen.>> Niemand wird auf dem aktuellen Stand ein reales Produkt entwickeln.>> Bei solchen Sachen muss man sich immer die folgende Frage stellen: "Wie> würde ein Richter, der von der Vorgeschichte keine Ahnung hat und die> ihn auch nicht im geringsten interessiert, entscheiden?".
Ist dir langweilig? Bist du auch autistisch veranlagt? Mensch Meier, die
juristischen Detail sind die ALLERKLEINSTEN Probleme, welche einer
Nachnutzung oder gar VERBREITUNG des Bo8 im Wege stehen!
Falk B. schrieb:> die> juristischen Detail sind die ALLERKLEINSTEN Probleme, welche einer> Nachnutzung oder gar VERBREITUNG des Bo8 im Wege stehen!
Hmm, was wären für mich Gründe eine VHDL-CPU einzusetzen?!?
- open source
- gute Dokumentation
- herstellerunabhängiger Code
- leichte Integration
- leichte Erweiterbarkeit
- C-Compiler
Integration und Erweiterbarkeit setzten eine gute bis sehr gute
Dokumentation und ggf. leicht lesbaren Quellcode voraus.
Mit meinen Kriterien habe ich die Wahl der Qual:
https://www.mikrocontroller.net/articles/FPGA_Soft_Core
Reinhold E.
>32bit rulez in Embedded, nach meinem Abtritt dann>natürlich mal die 64bitter (PS: Das 32bit Linux/Unix Datum läuft bei>Interpretation als uint32 erst im Jahr 2104 ab, da bin ich schon tot und>es kann mir egal sein... Manche Kollegen wollen ja jetzt schon unbedingt>auf 64bit, auch auf 32bit Architekturen. Kosten/Nutzen egal, Der Begriff>'atomic read size' vielen nicht bekannt)
Dazu noch einen Gedanken: Ich habe mich immer gefragt, ob 64Bit wirklich
für etwas zu gebrauchen sind. Aber da z.B. die RISC-V Maix
Mikrocontroller schon 64 Bit sind, ist das gerade im kommen. Und
tatsächlich: Double Precission bringt bei Simulationen oder auch schon
bei einfachen Filtern wirkliche Vorteile. Und es ist wirklich schön,
dass man sich nicht mehr um Überläufe und Rundungsungenauigkeiten
kümmern muss (im Rahmen der meisten Applikationen).
Bernd schrieb:> Falk B. schrieb:>> die>> juristischen Detail sind die ALLERKLEINSTEN Probleme, welche einer>> Nachnutzung oder gar VERBREITUNG des Bo8 im Wege stehen!> Hmm, was wären für mich Gründe eine VHDL-CPU einzusetzen?!?>> - open source> - gute Dokumentation> - herstellerunabhängiger Code> - leichte Integration> - leichte Erweiterbarkeit> - C-Compiler
Alles nur Selbstverarschung. All diese Kriterien, bis auf open source,
erfüllt jede normale CPU auch. Soft-Cores oder auch Hard Cores in FPGAs
mögen ihre Nische haben, viele Umsetzungen sind aber eher Spielerei und
Ego-Trip. Vergleiche mal die Kosten und den Aufwand, vor allem was
Programmspeicher etc. angeht.
> Integration und Erweiterbarkeit setzten eine gute bis sehr gute> Dokumentation und ggf. leicht lesbaren Quellcode voraus.
Nö. Selbst mit verschlüsseltzen IP-Cores ist das möglich, lediglich die
Schnittstellen müssen gescheit dokumentiert sein.
> Mit meinen Kriterien habe ich die Wahl der Qual:> https://www.mikrocontroller.net/articles/FPGA_Soft_Core
Ich hab vor 20 Jahren (ohje!) mal ein paar Sachen mit dem Picoblaze von
Xilinx gemacht, incl. RAM-Bänke für mehr Programmspeicher ;-)
War nett. Und auch lehrreich. Im Gegensatz zum Bo8 8-0
Josef G. schrieb:>> die unklare rechtliche Lizenzsituation>> Bei meiner Freigabe-Erklärung muss ein Vermarkter> nicht mal eigene Quelltexte offenlegen.
Was hindert dich daran, einfach eine entsprechende - bekannte - Lizenz
zu nehmen und die in die ZIP-Datei zu tun? Wenn es dir tatsächlich egal
ist, dann nimm die BSD0 (die kommt deiner Vorstellung extrem nahe) und
die Sache ist in fünf Minuten erledigt.
Der vollständige Lizenztext der BSD0 lautet wie folgt:
1
Permission to use, copy, modify, and/or distribute this software for any purpose with or without fee is hereby granted.
2
3
THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
Oben drüber darfst du gerne noch "Copyright (C) 2000-2021 Josef Gnadl"
schreiben, wenn du möchtest.
> Im Übrigen: Ich habe bisher nicht mal von meiner eigenen Software> einen Quelltext in maschinell lesbarer Form. Den müsste ich erst> noch erstellen, falls Interesse besteht. Schon allein das> spricht gegen die Verwendung einer Open-Source-Lizenz.
Open Source heißt nicht, dass das auch maschinenlesbar sein muss. Das
sind die - inzwischen gemeinfreien - Dokumente von Einstein oder Gauß
auch nicht, und auch einige Open Source Hardware hat nur handgezeichnete
Schaltpläne oder Layouts.
S. R. schrieb:> Der vollständige Lizenztext der BSD0 lautet wie folgt:
Hm, da steht gar nichts von offengelegtem Quelltext.
Danke S.R., ich denk drüber nach.
Was meinen denn andere dazu?
Muss der Lizenzname BSD-0 beim Lizenztext dabeistehen?
Was ist mit der Dokumentation, die Teil des Downloadfiles ist?
Kann ich auf meiner Website den bisherigen Lizenztext stehenlassen?
Josef G. schrieb:> Muss der Lizenzname BSD-0 beim Lizenztext dabeistehen?>> Was ist mit der Dokumentation, die Teil des Downloadfiles ist?>> Kann ich auf meiner Website den bisherigen Lizenztext stehenlassen?
Geb die Codes komplett frei. Ohne BSD, NSA, MaWin und GPL
Josef G. schrieb:> Marc schrieb:>> Geb die Codes komplett frei.>> Das hab ich doch schon getan, dachte ich.> Aber einige Leute sind damit nicht zufrieden.
Im Zweifel MIT oder Apache V2 Lizenz^^
Josef G. schrieb:> Aber einige Leute sind damit nicht zufrieden.
Du musst diesen Willen rechtssicher dokumentieren.
Ansonsten hast du im Zweifel überhaupt nichts freigegeben, denn es gilt
das Urheberrecht, wenn es keine (gültige) Lizenz gibt.
Mampf F. schrieb:> Josef G. schrieb:>> Marc schrieb:>>> Geb die Codes komplett frei.>>>> Das hab ich doch schon getan, dachte ich.>> Aber einige Leute sind damit nicht zufrieden.>> Im Zweifel MIT oder Apache V2 Lizenz^^
Es gibt auch noch die CC0, in der der Rechteinhaber auf seine Rechte so
weitgehend verzichtet, wie möglich.
Es wird also versucht, einer Situation, in der es kein Urheberrecht
gäbe, möglichst nahe zu kommen.
Philipp Klaus K. schrieb:> Es gibt auch noch die CC0, in der der Rechteinhaber auf seine Rechte so> weitgehend verzichtet, wie möglich.
Diesen Versuch hatte Josef doch schon unternommen... Eine wichtige Frage
ist dabei, ob jemand, der ein daraus abgeleitetes Werk erstellt, ebenso
an diese Lizenz gebunden ist oder eine etwas geeignetere Lizenz nach
BSD-Art verwenden kann.
Ich habe einfach mal für das schon vor ewiger Zeit angelegt
Github-Repository eine MIT-Lizenz ausgewählt und Josef als Lizenzgeber
eingetragen:
https://github.com/bo8-team/bo8h
Was hältst Du davon, Josef?
Ansonsten hat sich Github sehr, sehr ausführlich über die Wahl einer
geeigneten Lizenz ausgelassen:
https://docs.github.com/en/github/creating-cloning-and-archiving-repositories/licensing-a-repositoryhttps://choosealicense.com/
Andreas S. schrieb:> Was hältst Du davon, Josef?
Ich hab nichts dagegen, mach nur.
Wundern tut es mich ja schon, dass du dich so für das Projekt
engagierst, nachdem du es hier vielfach kritisiert hast.
Zur Bezeichnung: Nach meiner Vorstellung sollte bo8 die CPU sein
und bo8h das Gesamtsystem. So hatte ich auch die Wiki-Artikel
genannt: 8bit-CPU: bo8 und 8bit-Computer: bo8h.
Auch im Forum habe ich versucht die Bezeichnungen durchzusetzen:
Beitrag "Re: 8bit-Computing mit FPGA"
Aus dem, was du auf Github gepostet hast, wird nach meiner Ansicht
nicht klar, ob es um die CPU gehen soll oder um das Gesamtsystem.
Vielleicht magst du da an den Bezeichnungen noch etwas ändern.
Aber es ist deine Entscheidung, ich misch mich da nicht ein.
Josef G. schrieb:> 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.
Und was kann man damit machen?
Josef G. schrieb:> Was ist mit der Dokumentation, die Teil des Downloadfiles ist?
Die von Andreas Schweigstill gewählte MIT-Lizenz scheint gegenüber
der von S.R. vorgeschlagenen BSD0-Lizenz den Vorteil zu haben,
dass sie die Dokumentation mit einschließt.
Text schrieb:> Und was kann man damit machen?Beitrag "Re: 8bit-Computing mit FPGA"
Josef G. schrieb:> Muss der Lizenzname BSD-0 beim Lizenztext dabeistehen?
Nein, der Lizenztext gilt auch ohne, dass der Name der Lizenz darüber
steht.
> Was ist mit der Dokumentation, die Teil des Downloadfiles ist?
Was in der ZIP-Datei drin ist, würde ich unter "the software" mit
einschließen, gehört schließlich zum Paket. Du kannst das auf der
Webseite aber auch eindeutig dazuschreiben, wenn du möchtest.
Die Dokumentation auf der Webseite ist davon nicht betroffen, für die
gelten andere Regeln, die du frei wählen kannst. Ist aus meiner Sicht
eher nebensächlich.
> Kann ich auf meiner Website den bisherigen Lizenztext stehenlassen?
Ja, wobei du dann erklärend hinzufügen solltest, dass du die Inhalte der
ZIP-Datei unter BSD0 freigibst.
Josef G. schrieb:> Die von Andreas Schweigstill gewählte MIT-Lizenz scheint gegenüber> der von S.R. vorgeschlagenen BSD0-Lizenz den Vorteil zu haben,> dass sie die Dokumentation mit einschließt.
Wie wir bereits alle schrieben, die genaue Wahl der Lizenz ist
scheißegal - es ist nur wichtig, dass du dir für das Projekt eine
aussuchst und dies auch rechtssicher dokumentierst (d.h. am besten in
die ZIP-Datei). Sowohl MIT als auch BSD0 sind angemessen.
Die BSD0 ist vergleichsweise jung, daher ist die MIT-Lizenz
verbreiteter. Beide sind aber offiziell.
Habe jetzt die BSD0-Lizenz ins Download-File gepackt.
Den Text auf der Seite Downloads hab ich erst mal so gelassen.
Grund für BSD0 und gegen MIT: Bei MIT wird verlangt, die Software
nur zusammen mit dem ursprünglichen Lizenztext weiterzugeben, wobei
unklar bleibt, wie weit das auch für Bearbeitungen oder Erweiterungen
der Software gilt. Das könnte mögliche Weiterentwickler abschrecken.
Josef G. schrieb:> Grund für BSD0 und gegen MIT: Bei MIT wird verlangt, die Software> nur zusammen mit dem ursprünglichen Lizenztext weiterzugeben, wobei> unklar bleibt, wie weit das auch für Bearbeitungen oder Erweiterungen> der Software gilt. Das könnte mögliche Weiterentwickler abschrecken.
Es ist eher das Gegenteil der Fall, d.h. als Weiterentwickler möchte man
ja meist auch, dass Lizenzhinweise eben nicht entfernt werden dürfen.
Nun ja, wenigstens haben wir jetzt nach jahrelanger Diskussion endlich
eine geeignete Lizenz.
NIEMAND auf der Welt will Josefs Ideen verwenden, nachnutzen,
weiterentwickeln oder gar vermarkten und zu Geld machen!
Die Frage der Lizenzrechte erübrigt sich von selbst.
Route_66 H. schrieb:> NIEMAND auf der Welt will Josefs Ideen verwenden, nachnutzen,> weiterentwickeln oder gar vermarkten und zu Geld machen!> Die Frage der Lizenzrechte erübrigt sich von selbst.
Na du stellst aber gewagte Thesen auf! ;-)
Falk B. schrieb:> Route_66 H. schrieb:>> NIEMAND auf der Welt will Josefs Ideen verwenden, nachnutzen,>> weiterentwickeln oder gar vermarkten und zu Geld machen!>> Die Frage der Lizenzrechte erübrigt sich von selbst.>> Na du stellst aber gewagte Thesen auf! ;-)
Gibt es hier irgend einen Anwender dieses absurden Systems?
Bitte melden!
Jetzt neu im Internet - https://www.3gapps.de/ironiedetektor -
also muss es wahr sein ;)
Route_66 H. schrieb:> Falk B. schrieb:>> Route_66 H. schrieb:>>> NIEMAND auf der Welt will Josefs Ideen verwenden, nachnutzen,>>> weiterentwickeln oder gar vermarkten und zu Geld machen!>>> Die Frage der Lizenzrechte erübrigt sich von selbst.>>>> Na du stellst aber gewagte Thesen auf! ;-)>> Gibt es hier irgend einen Anwender dieses absurden Systems?> Bitte melden!
Hinweis für den unwahrscheinlichen Fall, dass tatsächlich jemand
sich mit dem Projekt befasst: Das Assembler-Mnemonic NON wird
voraussichtlich in Kürze durch NOL ersetzt.
Josef G. schrieb:> Hinweis für den unwahrscheinlichen Fall, dass tatsächlich jemand> sich mit dem Projekt befasst: Das Assembler-Mnemonic NON wird> voraussichtlich in Kürze durch NOL ersetzt.
Schreib an DPA und NYT . . .
Josef G. schrieb:> Das Assembler-Mnemonic NON wird ... in Kürze durch NOL ersetzt.
Habe das jetzt so gemacht.
Die Seite Emul.txt im Verzeichnis info des Download-Files
habe ich umbenannt in Soft.txt und stark überarbeitet.
Jetzt findet sich dort auch die Aufteilung der Datei coka.txt,
welche die Software der Hauptplatine des bo8h-Computers enthält,
in Bereiche mit disassemblierbarem Code und Bereiche mit Daten.
Den Assembler für PC und den Disassembler habe ich überarbeitet.
Und es gibt jetzt neu ein Programm mlab, welche die Output-Datei
des Disassemblers bearbeitet und dort alle relativen Adressen
durch Labels ersetzt. Um einen assemblierbaren Text zu erhalten,
sind dann nur noch marginale händische Anpassungen erforderlich.
Für eine effiziente Disassemblierung von coka.txt fehlen
aber noch Informationen zu einer sinnvollen Stückelung.
Als nächstes möchte ich mit Hilfe dieser Programme die Datei
coka.txt in Assembler-Quelltexte und damit in eine leichter
wartbare Form überführen, nachdem es in der Vergangenheit
etliche Änderungen mit Papier und Bleistift gegeben hat.
https://www.bo8h.de/Downloads/
Habe gerade das Programm mlab noch ein wenig geändert, ohne das
auf der Seite Downloads kenntlich zu machen. Und zwar haben
Input-Datei und Output-Datei des Programms jetzt verschiedene
Namen. Ist besser so, um nicht versehentlich den Output
nochmal als Input verwenden zu können. Sorry.
Text schrieb:> Und was kann man damit machen?
Nichts. Das ist ja der Gag an dem ganzen Projekt.
Naja, vielleicht könnte man es noch als abschreckendes Beispiel für "so
macht man es nicht" verwenden...
Josef G. schrieb:> Hinweis für den unwahrscheinlichen Fall, dass tatsächlich jemand> sich mit dem Projekt befasst: Das Assembler-Mnemonic NON wird> voraussichtlich in Kürze durch NOL ersetzt.
Mich interessiert an der Stelle eher die Begründung - wofür stehen die
Kürzel, warum änderst du es, und warum kann der Assembler nicht beide?
>hey, soll ich hier zu meiner belustigung auch ein tagebuch meiner ...
Wie sind halt in 2021. Da macht man das.
Andere posten den ganzen Tag Fotos wie sie aussehen, wenn sie gerade
aufstehen. Wie sie in Unterwäsche im Bad die Zähne putzen.
So ist das eben in der neuen Zeit.
Ich bin eigentlich froh, das Josef hier nur was von FPGAs und komischen
Zahlensystemen postet.
S. R. schrieb:> Mich interessiert an der Stelle eher die Begründung - wofür stehen die> Kürzel, warum änderst du es, und warum kann der Assembler nicht beide?
NON : No Operation, N Zyklen. // NOL : No Operation, Lange Dauer.
Das ist ein 2-Byte-Befehl, die Dauer steht im zweiten Byte.
Das neue Mnemonic sticht besser ins Auge, wenn man in
einem Assembler-Listing danach sucht. Und es passt besser
zu den Mnemonics IKL, DKL, IXL, DXL, IYL, DYL, IZL, DZL,
(Inkrementieren/Dekrementieren, Lange Distanz).
Und da nach meiner Kenntnis ohnehin bisher niemand die CPU
verwendet, sehe ich keinen Grund, auf Kompatibilität mit
der bisherigen Festlegung Rücksicht zu nehmen.
Josef G. schrieb:> Und da nach meiner Kenntnis ohnehin bisher niemand die CPU> verwendet, sehe ich keinen Grund, auf Kompatibilität mit> der bisherigen Festlegung Rücksicht zu nehmen.
Wo du recht hast, hast du recht.
So verhinderst du auch zuverlässig, dass es jemand jemals nutzen könnte.
MaWin schrieb:> Josef G. schrieb:>> Und da nach meiner Kenntnis ohnehin bisher niemand die CPU>> verwendet, sehe ich keinen Grund, auf Kompatibilität mit>> der bisherigen Festlegung Rücksicht zu nehmen.>> Wo du recht hast, hast du recht.> So verhinderst du auch zuverlässig, dass es jemand jemals nutzen könnte.
Jein...
Wer sich etwas mit CPU-Geschichte auskennt, weiß, dass es da schon viel
schlimmere Übergänge gab, z.B. vom 8080 zum Z80. Aufeinmal hatten viele
alte (und weiterhin auf dem Z80 existierende!) Op-codes "neue"
Mnemonics:
8080: MOV A,A
Z80: LD A,A
Die (gegenüber dem 8080) geänderten Mnemonics haben dem Erfolg des Z80
keinen Abbruch getan - insofern wird sich diese Änderung bzgl. BO8-
Popularität wohl auch stark in Grenzen halten ;-)
Content B. schrieb:> Cooles Projekt!
Das nunmehr seit fast seit 9J hier rumgeistert.
> Erzähl mal welche Hardware ich da brauche!
Hat Josef alles dokumentiert. Wenn Du Farbenblind bist und auf Schmerzen
stehst, kannst Du Dir das ja mal alles reinziehen.
Les einfach den ganzen Thread und wenn Du dann noch Lust hast Dich damit
zu beschäftigen, steigt die Zahl der Anwender spunghaft um 100%, was
Josef sicher sehr freuen wird.
Aber eigentlich dient dieser Thread seit Jahren nur noch dazu, Häme und
Spott über Josef auszukübeln oder dem Versuch einzelner Diskussionen mit
Ihm zu führen, die immer verbissener geführt werden, bis der
Frustriertere entnervt aufgibt und Josef unbeirrt und stoisch weiter
sinnlose kleine Änderungen an seinem sinnlosen großen Lebensprojekt
postet.
Josef sorgt mit regelmäßigen Beiträgen dafür das der Thread oben bleibt,
was zwar die Aufmerksamkeit derer weckt, die das bisher verschlafen
haben, ansonsten aber rein garnichts dazu beiträgt das dieses Monstrum
sich einer irgendwie sinnvoll benutzbaren Form annähert.
Faszinierend finde ich an dem Projekt eigentlich nur noch Josefs
Frustrationstoleranz und sein zähes festhalten an seinem Weg, gegen
jeden Rat, gegen jeden gesunden Menschenverstand und obwohl niemand,
wirklich niemand außer ihm das benutzen will.
Gäbe es die Rubrik 'Psychologie und Verhaltensforschung' auf MC.net,
wäre dieser Thread dort sicher besser aufgehoben.
Nicht nur Josef betreffend ;-)
Michael W. schrieb:> Wer sich etwas mit CPU-Geschichte auskennt, weiß, dass es da schon viel> schlimmere Übergänge gab, z.B. vom 8080 zum Z80.
Der 8080/8085 und der Z80 stammen aber von verschiedenen Herstellern.
Vermutlich musste Zilog auch ein paar Intel-Patente und -Gebrauchsmuster
(bzw. deren Äquivalente in den anderen Rechtssystemen) umschiffen.
mkn schrieb:> Content B. schrieb:>> Erzähl mal welche Hardware ich da brauche!> Les einfach den ganzen Thread
Sehr viel kürzer ist es, die Datei "Hardware.txt"
im Verzeichnis info des Download-Files zu lesen.
Für einen ersten Überblick über das Projekt
siehe den Wiki-Artikel: 8bit-Computer: bo8h
Andreas S. schrieb:> Vermutlich musste Zilog auch ein paar Intel-Patente und -Gebrauchsmuster> (bzw. deren Äquivalente in den anderen Rechtssystemen) umschiffen.
"Because Intel claimed a copyright on their assembly mnemonics, a new
assembly syntax had to be developed for the Z80." (Wikipedia)
Und so kam die Welt eben zu Ladebefehlen, die speichern. "Move" und
"Bringe" gab es bereits in dieser Rolle.
(prx) A. K. schrieb:> "Because Intel claimed a copyright on their assembly mnemonics, a new> assembly syntax had to be developed for the Z80." (Wikipedia)
Eines der vielen Beispiele für ein verdrehtes Copyrightverständnis.
So wie Magentafarben . . .
Falk B. schrieb:> (prx) A. K. schrieb:>> "Because Intel claimed a copyright on their assembly mnemonics, a new>> assembly syntax had to be developed for the Z80." (Wikipedia)>> Eines der vielen Beispiele für ein verdrehtes Copyrightverständnis.> So wie Magentafarben . . .
Na die Telekomiker hatten schon immer Humor! Oder war es T-Offline?
mkn schrieb:> Faszinierend finde ich an dem Projekt eigentlich nur noch Josefs> Frustrationstoleranz und sein zähes festhalten an seinem Weg, gegen> jeden Rat,
Was nicht unbedingt ein schlechter Charakterzug ist. Im Vergleich zu
vielen anderen (eher langweiligen und wenig kreativen) Hobby-Projekten
hier (will jetzt keine Beispiele bringen...), ist Josefs Projekt
wenigstens interessant und originell.
Die Anzahl der "Likes" hier im Forum ist letztlich auch egal, da diese
"Währung" in erster Linie nur eines dokumentiert: die Anzahl der Freunde
und Kumpels, die hier ebenfalls einen anonymen Account haben :-) Auch
die Anzahl der Wortmeldungen sagt nichts über die "Interessantheit" oder
Originalität des Projektes aus.
<conspiracy_theory status=on>
Einige Leute haben halt einfach "mehr Einfluss, Macht und Freunde" als
andere - and Control the Narrative.
</conspiracy_theory status=off>
Siehe auch hier:
https://hackaday.com/2021/06/16/the-other-first-computer-konrad-zuse-and-the-z3/#more-480960
Also, Josef, lass Dich nicht entmutigen, und wenn es nur für Dich selbst
ist - weiter so :-)
Michael W. schrieb:> ...
Was hältst du denn von der Idee eines kleinen Computers für
Hobbyisten mit einem Zeichensatz, welcher neben Buchstaben und
Sonderzeichen einen Satz von sechzehn Ziffern enthält, der aus
den Ziffern 0 bis 9 und sechs weiteren "echten" Ziffern besteht,
welche durch modifizierte Buchstaben A bis F dargestellt werden?
Wäre das nichts für dich, sowas zu bauen?
Josef G. schrieb:> Michael W. schrieb:>> ...>> Was hältst du denn von der Idee eines kleinen Computers für> Hobbyisten mit einem Zeichensatz, welcher neben Buchstaben und> Sonderzeichen einen Satz von sechzehn Ziffern enthält, der aus> den Ziffern 0 bis 9 und sechs weiteren "echten" Ziffern besteht,> welche durch modifizierte Buchstaben A bis F dargestellt werden?>> Wäre das nichts für dich, sowas zu bauen?
Also HEX ist ja eigentlich schon mein Ding, allerdings ist mir nicht
klar warum ich a) nicht die Buchstaben A-F in ihrem normalen Font
benutzen darf, und b) wenn schon HEX, warum dann überhaupt mehr als 0
bis F? Ich bin mit dem Zeichensatz glücklich den ich habe ;-) Bild
anbei.
Ich würde sogar so weit gehen zu behaupten, dass der ECHTE HEXenmeister
NUR mit 7segment HEX unterwegs sein darf.
Michael W. schrieb:> allerdings ist mir nicht klar warum ich a) nicht die> Buchstaben A-F in ihrem normalen Font benutzen darf,
Die Konversion zwischen ASCII-Ziffern und numerischem
Wert ist umständlich wegen der Lücke zwischen 9 und A.
> wenn schon HEX, warum dann überhaupt mehr als 0 bis F?
Meine Ziffern mit Überstrich kannst du gerne weglassen.
Josef G. schrieb:> Die Konversion zwischen ASCII-Ziffern und numerischem> Wert ist umständlich wegen der Lücke zwischen 9 und A.
Ach so, ja ASCII ist unpraktisch diesbzgl. Bei mir gibt's eh keinen
ASCII, nur 0 bis F.
Josef G. schrieb:>> Mich interessiert an der Stelle eher die Begründung - wofür stehen die>> Kürzel, warum änderst du es, und warum kann der Assembler nicht beide?>> NON : No Operation, N Zyklen. // NOL : No Operation, Lange Dauer.> Das ist ein 2-Byte-Befehl, die Dauer steht im zweiten Byte.>> Das neue Mnemonic sticht besser ins Auge, wenn man in> einem Assembler-Listing danach sucht.
Danke für die Erklärung.
Der Begriff "Sweet Sixteen" geht mutmaßlich auf den lettischen
Steinbildhauer Edvards Liedskalnins zurück, dessen zeitweilige Freundin
damals sechzehn Jahre als war. Später verwendete er den Begriff zum
einen für die von ihm erbaute Burg Coral Castle in Florida und zum
anderen im Zusammenhang mit sehr wirren Theorien zum Thema Magnetismus.
Er führte sogar die Fertilität von Frauen auf magnetische Effekte
zurück.
Liedskalnins und Kurt Bindl wären vermutlich beste Freunde geworden und
auch Mitglieder des "Club 16".
Andreas S. schrieb:> Er führte sogar die zu Fertilität von Frauen auf magnetische Effekte> zurück.
Verdammt, da ging doch eben erst was durch die Medien. Sah nach
kompletten Blödsinn aus aber mit dieser wichtigen Information gewinnt
manches einen Sinn. Die Corona-Impfung als fertilitätsfördernde
Massnahme.
Josef G. schrieb:> Und wieder einen Befürworter des Hex-Systems gefunden:
Wow, jetzt seid Ihr schon drei weltweit?
Also könnte man sagen die Zahl der Hex Befürworter hat sich 2021
weltweit um 50% erhöht?
Noch ein paar Milliarden Jahre, dann seid Ihr die Mehrheit und könnt das
einführen.
Also nicht aufgeben. Du bist auf einem guten Weg.
Prokrastinator schrieb:> Noch ein paar Milliarden Jahre, dann seid Ihr die Mehrheit und könnt das> einführen.
Wenn die Zahl der Befürworter tatsächlich jedes Jahr um 50% steigt, hat
Josef sein Ziel schon in 52 Jahren erreicht.
Yalu X. schrieb:> Wenn die Zahl der Befürworter tatsächlich jedes Jahr um 50% steigt, hat> Josef sein Ziel schon in 52 Jahren erreicht.
Allerdings sollte man dabei durchaus berücksichtigen, dass
zwischenzeitlich auch so mancher Befürworter altersbedingt sterben
könnte.
Andreas S. schrieb:> Allerdings sollte man dabei durchaus berücksichtigen, dass> zwischenzeitlich auch so mancher Befürworter altersbedingt sterben> könnte.
Das wird dadurch mehr als kompensiert, dass deren Kinder und Enkel
bereits mit dem Hexsystem aufgezogen werden.
Yalu X. schrieb:> Das wird dadurch mehr als kompensiert, dass deren Kinder und Enkel> bereits mit dem Hexsystem aufgezogen werden.
Vielleicht wachsen denen dann auch drei zusätzliche Finger an jeder
Hand. Dann klappt das Abzählen an den Fingern auch im
Hexadezimalsystem...
Die Wichtigkeit der Zahl der Finger für die Auswahl des Zahlensystems
wird überbewertet. Sie hat historisch zweifellos eine Rolle gespielt.
Aber warum muss das auch in Zukunft so sein, wo es heute mathematische
Gesichtspunkte gibt, von denen man in der Vergangenheit nichts wusste?
Und die Tatsache, dass das Thema ohne mein Zutun wieder aufgegriffen
wurde, zeigt ja, dass im Grunde alle hier an das Hexsystem glauben.
Josef G. schrieb:> Die Wichtigkeit der Zahl der Finger für die Auswahl des Zahlensystems> wird überbewertet.
Nein, die Anzahl der Finger spielt für Menschen eine äußerst wichtige
Rolle bei der Auswahl des Zahlensystems.
> Sie hat historisch zweifellos eine Rolle gespielt.
Da sich die Anzahl der Finger nicht geändert hat, ist sie immer noch
relevant.
> Aber warum muss das auch in Zukunft so sein, wo es heute mathematische> Gesichtspunkte gibt, von denen man in der Vergangenheit nichts wusste?> Und die Tatsache, dass das Thema ohne mein Zutun wieder aufgegriffen> wurde, zeigt ja, dass im Grunde alle hier an das Hexsystem glauben.
Nein, hier glaubt hier keiner bzw. kaum einer an die Einführbarkeit des
Hexadezimalsystems. Natürlich rechne ich insbesondere bei Bitoperationen
auch in hex, aber trotzdem ist es für den "Normalbürger" nicht
sonderlich relevant. Heutige Computer (auch Smartphones, usw.) sind
locker in der Lage, die erforderlichen Darstellungen in beliebigen
Zahlensystemen vorzunehmen, sogar in dem kruden 12/60er-System für
Uhrzeiten und Winkel.
Die Einführung des Neugrades mit 100° bzw. 400° für einen Vollkreis ist
übrigens auch schon mehrmals gescheitert.
Andreas S. schrieb:> sogar in dem kruden 12/60er-System für> Uhrzeiten und Winkel.
Wobei das durchaus für Zeiten und Winkel sinnvoll ist, aufgrund der
hohen Teilbarkeit der 12er/60er-Systeme.
MaWin schrieb:>> Meine Gruppe "Sweet Sixteen">> Das hört sich eher nach einer illegalen Jugendp0rnographiegruppe an.
"Sweet Sixteen"ist ein Klassiker von Billy Idol, der sich angeblich auf
die Lebensgeschichte eines kruden Esoterikers aus Lettland bezieht:
https://de.wikipedia.org/wiki/Sweet_Sixteen_(Lied)
MaWin schrieb:> Ich glaube an das Oktalsystem!
Auf meiner Website habe ich dazu geschrieben:
Im Hexadezimalsystem hat man weniger Stellen hinzuschreiben.
Die Quadratwurzel jeder Sechzehner-Potenz ist eine ganze Zahl.
Im Hexadezimalsystem gilt für die Teilbarkeit durch drei die
einfache Quersummenregel, im Oktalsystem die alternierende.
Und hexadezimal gilt 1/3 = 0.555555..., 2/3 = 0.AAAAAA...
Oktal dagegen gilt 1/3 = 0.252525..., 2/3 = 0.525252...
Vorteil von Oktal ist das nicht so umfangreiche Einmaleins.
Ich könnte mich notfalls auch mit Oktal anfreunden. An meinem
8bit-Computer würde das nichts ändern, der Hex-Ziffernsatz
bliebe auch dann sinnvoll. In der derzeitigen Implementierung
hat die Tastatur ohnehin nur acht Zifferntasten für 76543210
mit FEDCBA98 als Shift-Ebene darüber.
Andreas S. schrieb:> Die Einführung des Neugrades mit 100° bzw. 400° für einen> Vollkreis ist übrigens auch schon mehrmals gescheitert.
Ich plädiere keineswegs dafür, den Kreis in zB. 256 Hexgrad
zu teilen. Die Maßzahl für den ganzen Kreis sollte wenigstens
einen Faktor drei enthalten. Siehe auch meine Website.
Also im 10er-System kann ich mir mit einem Block-basierten internen,
visualisierenden Denkschema alle Zahlen und Teilmengen vorstellen - auch
bei den einfachen Berechnungen.
Geht das auch im 16er-System oder muss man da Quersummen addieren und
ähnliche Tricks anwenden ? Youtube ist übrigens voll mit Rechentricks
zur Multiplikation usw.
Genau schrieb:> Also im 10er-System kann ich mir mit einem Block-basierten internen,> visualisierenden Denkschema alle Zahlen und Teilmengen vorstellen - auch> bei den einfachen Berechnungen.
Das ist nur eine Frage der frühkindlichen Prägung und Gewöhnung. Wären
wir an das Oktal- oder Hexadezimalsystem gewöhnt, hätten wir davon eine
ähnliche Vorstellung.
> Geht das auch im 16er-System oder muss man da Quersummen addieren und> ähnliche Tricks anwenden ? Youtube ist übrigens voll mit Rechentricks> zur Multiplikation usw.
Ähnliche Rechentricks usw. gibt es natürlich auch in anderen
Zahlensystemen. Da sie für die "Alltagsmathematik", d.h. Rechnen, der
meisten Leute irrelevant sind, wird natürlich weniger daran gearbeitet.
Außerdem dürfte es auch eine verzerrte Wahrnehmung geben. Bei einem
Rechentrick im Dezimalsystem denkt man sich eher: "Oh, das ist
interessant. Diesen Trick sollte ich mir unbedingt merken.". Bei einem
Rechentrick im z.B. Siebeber- oder Neunundzwanzigersystem denke ich mir
eher: "Hmm, derjenige hat wohl wirklich nichts Besseres zu tun. Aber
schön, dass wir seine Professur finanzieren dürfen."
Auch interessant: https://ieao.de/vierer-system.htm
Das spricht auch für hexadezimal und gegen oktal, da eine Hexziffer
aufgefasst werden kann als Kurzschreibweise für zwei Viererziffern.
Zum Umstellungsaufwand bei Einführung des Hexsystems: Man stelle
sich vor, welche Aufbruchstimmung ein solches Vorhaben erzeugen
würde. Schon allein das könnte den Umstellungsaufwand aufwiegen.
Josef G. schrieb:> Man stelle> sich vor, welche Aufbruchstimmung ein solches Vorhaben erzeugen> würde.
Mann stelle sich vor, welche Panik ein solches Vorhaben in der
Bevölkerung erzeugen würde. Schon allein weil 99% der Bevölkerung gar
nicht verstehen würden, wozu sie da gezwungen werden sollen.