mikrocontroller.net

Forum: Projekte & Code 8bit-Computing mit FPGA


Autor: Frank M. (ukw) (Moderator) Benutzerseite
Datum:

Bewertung
-1 lesenswert
nicht lesenswert
Instrukteur schrieb:
> Nein. Viel dringender wird
> SE.LF.DES.TRUC.TI.ON
> gebraucht.

Syntax Error. Reboot System.

Ist meine Version zu alt?

: Bearbeitet durch Moderator
Autor: Instrukteur (Gast)
Datum:

Bewertung
-2 lesenswert
nicht lesenswert
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...

Autor: Josef G. (bome) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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

Autor: Endlos nutzlos (Gast)
Datum:

Bewertung
-1 lesenswert
nicht lesenswert
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.

Autor: Informatiker (Gast)
Datum:

Bewertung
1 lesenswert
nicht lesenswert
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.

Autor: Josef G. (bome) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
      +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
20-   NO2    ST.S   SS.X   ST.X   SS.Y   ST.Y   SS.Z   ST.Z
28-   DX0    DX1    DX2    DX3    DX4    DX5    DX6    DX7
30-   DY0    DY1    DY2    DY3    DY4    DY5    DY6    DY7
38-   DZ0    DZ1    DZ2    DZ3    DZ4    DZ5    DZ6    DZ7

40-   O.VZ   O.VS   B.VZ   B.VS   O.UZ   O.US   B.UZ   B.US
48-   O.AZ   O.AS   B.AZ   B.AS   O.KZ   O.KS   B.KZ   B.KS
50-   O.WY   O.RP   B.WY   B.CN   GTR    ADR    GTA    NON
58-   IKL    DKL    IXL    DXL    IYL    DYL    IZL    DZL
60-   AD.    LV.    AV.    SV.    GT.    AN.    XR.    NR.
68-   STMX   LVMX   AVMX   SVMX   GTMX   ANMX   XRMX   NRMX
70-   STMY   LVMY   AVMY   SVMY   GTMY   ANMY   XRMY   NRMY
78-   STMZ   LVMZ   AVMZ   SVMZ   GTMZ   ANMZ   XRMZ   NRMZ

80-   ST.B   LV.B   AV.B   SV.B   GT.B   AN.B   XR.B   NR.B
88-   SL.K   TA1    TA2    TA3    TA4    TA5    TA6    TA7
90-   NO1    TK1    TK2    TK3    TK4    TK5    TK6    TK7
98-   TK8    TK9    TKa    TKb    TKc    TKd    TKe    TKf
a0-   EX.S   LV.S   AV.S   SV.S   GT.S   LD.S   AD.S   SD.S
a8-   EX.X   ZO.X   ES.X   RS.X   GT.X   LD.X   AD.X   SD.X
b0-   EX.Y   ZO.Y   ES.Y   RS.Y   GT.Y   LD.Y   AD.Y   SD.Y
b8-   EX.Z   ZO.Z   ES.Z   RS.Z   GT.Z   LD.Z   AD.Z   SD.Z

c0-   R.VZ   R.VS   R.UZ   R.US   R.AZ   R.AS   R.KZ   R.KS
c8-   R.WY   R.CN   R.IX   R.DX   R.IY   R.DY   R.IZ   R.DZ
d0-   GH.S   GL.S   GH.X   GL.X   GH.Y   GL.Y   GH.Z   GL.Z
d8-   IC.S   DC.S   IXE    DXE    IYE    DYE    IZE    DZE
e0-   PV.B   TZ.B   PV.A   TZ.A   SE.U   NE.U   ZO.U   CP.V
e8-   RD.B   RU.B   RD.A   RU.A   SE.V   NE.V   ZO.V   CR.V
f0-   ZO.B   NE.B   ZO.A   NE.A   IV.A   DV.A   ZO.S   S.RP
f8-   IC.K   DC.K   ZO.K   NE.K   IC.A   DC.A   GT.Q   J..

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

Autor: Informatiker (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo? Liest du hier die Posts?
Mach mal bitte ein vernünftiges Archiv zum herunterladen deiner 
Quellcodes.

Autor: Falk Brunner (falk)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
and daily greets the Murmeltier . . .

Autor: Josef G. (bome) Benutzerseite
Datum:

Bewertung
-1 lesenswert
nicht lesenswert
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

Autor: Helmut (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Informatiker schrieb:
> Hallo? Liest du hier die Posts?

Dann seid ihr ja schon zwei ...

Autor: Christopher B. (chrimbo) Benutzerseite
Datum:

Bewertung
2 lesenswert
nicht lesenswert
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...

: Bearbeitet durch User
Autor: pixl (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
>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.

Autor: Josef G. (bome) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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.

Autor: informatiker (Gast)
Datum:

Bewertung
3 lesenswert
nicht lesenswert
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 :(

Autor: pixl (Gast)
Datum:

Bewertung
-2 lesenswert
nicht lesenswert
Some Men Just Want to Watch the World Burn
http://knowyourmeme.com/memes/some-men-just-want-t...

Autor: Josef G. (bome) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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.

Autor: informatiker (Gast)
Datum:

Bewertung
2 lesenswert
nicht lesenswert
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.

Autor: Josef G. (bome) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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.

: Bearbeitet durch User
Autor: Scherge von Josef (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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.

Autor: Falk Brunner (falk)
Datum:

Bewertung
2 lesenswert
nicht lesenswert
@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

Autor: Informatiker (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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.

Autor: pixl (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
So, mir reichts jetzt. Ich schalte PETA ein!

Autor: Neugierig gewordener Windows-Experte (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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 !

Autor: Informatiker (Gast)
Datum:

Bewertung
-10 lesenswert
nicht lesenswert
Mir ist niemand bekannt, der Windows für seine tägliche Arbeit benötigt. 
Linux ist völlig ausreichend.

Autor: Neugierig gewordener Windows-Experte (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Und sei es nur als Beweis der Leistungsfähigkeit seiner überragenden 
Architektur.

Autor: Informatiker (Gast)
Datum:

Bewertung
-5 lesenswert
nicht lesenswert
Ist trotzdem recht sinnlos. Warum sollte man Hardware für closed Source 
Systeme entwickeln?
Windows ist schlicht und einfach eine Randerscheinung der Informatik.

Autor: Neugierig gewordener Windows-Experte (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Informatiker schrieb:
> Ist trotzdem recht sinnlos.

Na dann passt es doch optimal zum Projekt.

Autor: Nils S. (kruemeltee) Benutzerseite
Datum:

Bewertung
-2 lesenswert
nicht lesenswert
Falk B. schrieb:
> and daily greets the Murmeltier . . .

s\Murmeltier\Multimeter

Autor: Andreas Schweigstill (Firma: Schweigstill IT) (schweigstill) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Nils S. schrieb:
> Falk B. schrieb:
>> and daily greets the Murmeltier . . .
>
> s\Murmeltier\Multimeter

Falsch. Korrekt wäre:
s/Murmeltier/Multimeter/

Autor: Nils S. (kruemeltee) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Andreas, das stimmt so aber nicht. Mein sed arbeitet anders herum.

;)

Autor: Fpga Kuechle (fpgakuechle) Benutzerseite
Datum:

Bewertung
4 lesenswert
nicht lesenswert
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

: Bearbeitet durch User
Autor: Andreas Schweigstill (Firma: Schweigstill IT) (schweigstill) Benutzerseite
Datum:

Bewertung
-3 lesenswert
nicht lesenswert
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. 
"/".

Autor: Nils S. (kruemeltee) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Abgeschlossen wird mit '\1'. Das kann dein Browser, dank Steuerzeichen 
statt Glyphen an der Stelle, aber nicht anzeigen. Ich seh's hier aber.

: Bearbeitet durch User
Autor: Marc (Gast)
Datum:

Bewertung
1 lesenswert
nicht lesenswert
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.
[...]

: Bearbeitet durch Moderator
Autor: Mark Brandis (markbrandis)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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?

Autor: Anonymous User (Gast)
Datum:

Bewertung
1 lesenswert
nicht lesenswert
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.

Autor: Fpga Kuechle (fpgakuechle) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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_%28Deuts...

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.

: Bearbeitet durch User
Autor: Anonymous User (Gast)
Datum:

Bewertung
2 lesenswert
nicht lesenswert
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.

Autor: otto (Gast)
Datum:

Bewertung
-2 lesenswert
nicht lesenswert
-------------------
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..

Autor: Josef G. (bome) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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?

Autor: Markus F. (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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 ...

Autor: Mark Brandis (markbrandis)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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.

Autor: Andreas Schweigstill (Firma: Schweigstill IT) (schweigstill) Benutzerseite
Datum:

Bewertung
1 lesenswert
nicht lesenswert
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.

: Bearbeitet durch User
Autor: Josef G. (bome) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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.

Autor: Andreas Schweigstill (Firma: Schweigstill IT) (schweigstill) Benutzerseite
Datum:

Bewertung
2 lesenswert
nicht lesenswert
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.

Autor: A. K. (prx)
Datum:

Bewertung
2 lesenswert
nicht lesenswert
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. ;-)

Autor: Mark Brandis (markbrandis)
Datum:

Bewertung
1 lesenswert
nicht lesenswert
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.

Autor: 1965er (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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.

Autor: Michael Wessel (michael_w738)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
{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?

Autor: Fpga Kuechle (fpgakuechle) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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,

: Bearbeitet durch User
Autor: Marc (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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.

Autor: Josef G. (bome) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Marc schrieb:
> könntest Du zum einfacheren Verständnis

Mach ich. Wird aber 1 oder 2 Tage dauern,
bin zur Zeit anderweitig beschäftigt.

Autor: Josef G. (bome) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Die definitiv(?) letzte Version ...

      +0     +1     +2     +3     +4     +5     +6     +7

00-   H..    ST.S   SS.X   ST.X   SS.Y   ST.Y   SS.Z   ST.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
20-   ZO.S   SL.S   ZO.X   SL.X   ZO.Y   SL.Y   ZO.Z   SL.Z
28-   DX0    DX1    DX2    DX3    DX4    DX5    DX6    DX7
30-   DY0    DY1    DY2    DY3    DY4    DY5    DY6    DY7
38-   DZ0    DZ1    DZ2    DZ3    DZ4    DZ5    DZ6    DZ7

40-   O.VZ   O.VS   B.VZ   B.VS   O.UZ   O.US   B.UZ   B.US
48-   O.AZ   O.AS   B.AZ   B.AS   O.KZ   O.KS   B.KZ   B.KS
50-   O.WY   O.RP   B.WY   B.CN   GTR    ADR    GTA    NON
58-   IKL    DKL    IXL    DXL    IYL    DYL    IZL    DZL
60-   AD.    LV.    AV.    SV.    GT.    AN.    XR.    NR.
68-   STMX   LVMX   AVMX   SVMX   GTMX   ANMX   XRMX   NRMX
70-   STMY   LVMY   AVMY   SVMY   GTMY   ANMY   XRMY   NRMY
78-   STMZ   LVMZ   AVMZ   SVMZ   GTMZ   ANMZ   XRMZ   NRMZ

80-   ST.B   LV.B   AV.B   SV.B   GT.B   AN.B   XR.B   NR.B
88-   SL.K   TA1    TA2    TA3    TA4    TA5    TA6    TA7
90-   NO1    TK1    TK2    TK3    TK4    TK5    TK6    TK7
98-   TK8    TK9    TKa    TKb    TKc    TKd    TKe    TKf
a0-   EX.S   LV.S   AV.S   SV.S   GT.S   LD.S   AD.S   SD.S
a8-   EX.X   ES.X   SW.X   RS.X   GT.X   LD.X   AD.X   SD.X
b0-   EX.Y   ES.Y   SW.Y   RS.Y   GT.Y   LD.Y   AD.Y   SD.Y
b8-   EX.Z   ES.Z   SW.Z   RS.Z   GT.Z   LD.Z   AD.Z   SD.Z

c0-   R.VZ   R.VS   R.UZ   R.US   R.AZ   R.AS   R.KZ   R.KS
c8-   R.WY   R.CN   R.IX   R.DX   R.IY   R.DY   R.IZ   R.DZ
d0-   GH.S   GL.S   GH.X   GL.X   GH.Y   GL.Y   GH.Z   GL.Z
d8-   IC.S   DC.S   IXE    DXE    IYE    DYE    IZE    DZE
e0-   PV.B   TZ.B   PV.A   TZ.A   SE.U   NE.U   ZO.U   CP.V
e8-   RD.B   RU.B   RD.A   RU.A   SE.V   NE.V   ZO.V   CR.V
f0-   ZO.B   NE.B   ZO.A   NE.A   IV.A   DV.A   NO2    S.RP
f8-   IC.K   DC.K   ZO.K   NE.K   IC.A   DC.A   GT.Q   J..

Autor: Josef G. (bome) Benutzerseite
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Das Programm zur Ausgabe der Ziffern 0 bis 9

    - START \ ####
    - MARKE - -
    START /UA 0000
    =     /UR 0000
    =     GT.S         bereite X für Rücksprung ins Betriebs-
    =     TK1          system vor:   positioniere X hinter die
    =     AD.X         Parameter, falls solche übergeben wurden
    =     ST.X         ...
    =     SW.Y         schalte Y auf Speicherseite 1
    =     GTA ec       rufe Routine Linefeed auf
    =     /.J.         ...
    =     /GTA 8fc0    setze Y auf Start der Zeile 3f
    =     ST.Y         ...
    =     GT. 09       initialisiere Schleifenzähler
    =     SL.S         ...
    =     GT. 60       lade Akku mit Ziffer Null
    MARKE IY1          Schleifenstart; erhöhe Y
    =     STMY         speichere Zeichen
    =     IC.A         inkrementiere Zeichen
    =     B.CN MARKE   Rückwärtssprung mit Zählvorgang
    =     SW.Y         schalte Y zurück auf RAM1
    =     ZO.Z         bereite Z für Rückkehr vor
    =     GT.Z         Sprung zur Rückkehrschnittstelle
    =     /.J.         ...

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.

Autor: Marc (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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

Autor: Josef G. (bome) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Marc schrieb:
> nur die Befehle sind etwas ungewohnt.

/GTA 8fc0 und /.J. sind Makros und stehen für

  GTA c0                  H..
  AD. 8f                  J..

Autor: Josef G. (bome) Benutzerseite
Datum:

Bewertung
-1 lesenswert
nicht lesenswert
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.

Autor: Jens (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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

Autor: Josef G. (bome) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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.
GT. 09    lädt den Wert 09 in den Akku
SL.S      speichert den Akku im LowByte von S,
          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:
P  Q R S  X Y Z    K     V            Bezeichnung:  A7 = U
|  | | |  | | |    |A                               AB = K
|  | | |  | | |    |B

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

: Bearbeitet durch User
Autor: Falk Brunner (falk)
Datum:

Bewertung
-2 lesenswert
nicht lesenswert
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

Autor: Marc (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
>Der Schleifenzähler S ist 16 bit breit.

Also erweitere ich die Registerübersicht um den 16 bit Schleifenzähler:
A:     Akku,                                  8 bit
B:     ?                                      8 bit

S:     Schleifenzähler                       16 bit

X,Y,Z: Index Register für Adressierung, alle 16 bit

Autor: Marc (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
>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.

Autor: pixl (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
>...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

Autor: Nils S. (kruemeltee) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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.

Autor: Josef G. (bome) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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.

Autor: Nils S. (kruemeltee) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
In jedem brauchbaren Manual steht das dann ungefähr so:

Register:

A - Akku (8bit)
X, Y - ....
SP - Stack Pointer (16bit)
...

Autor: ... (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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.

Autor: Mark Brandis (markbrandis)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
... 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 ;-)

Autor: Hans-Georg Lehnard (h-g-l)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Das war das Stichwort ...
Zum Verstehen dieser CPU benötigt man unbedingt einen Vollbitschlüssel 
;-))

Autor: A. K. (prx)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
... 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.

Autor: Marc Horby (marchorby)
Datum:

Bewertung
1 lesenswert
nicht lesenswert
Mark B. schrieb:
> ... 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 ;-)

Im Cache schon:
https://web.archive.org/web/20140517202802/http://...

Autor: Josef G. (bome) Benutzerseite
Datum:
Angehängte Dateien:

Bewertung
2 lesenswert
nicht lesenswert
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

Autor: Josef G. (bome) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Falls jemand über eine Realisierung auf seinem
DE0-nano nachdenkt, aber den Aufwand scheut:
Es geht auch ohne die 7-Segment-Anzeigen.

Autor: Andreas Schweigstill (Firma: Schweigstill IT) (schweigstill) Benutzerseite
Datum:

Bewertung
1 lesenswert
nicht lesenswert
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.

: Bearbeitet durch User
Autor: Josef G. (bome) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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.

Autor: Falk Brunner (falk)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@ 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

Autor: AnonymousUser (Gast)
Datum:

Bewertung
-3 lesenswert
nicht lesenswert
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...

Autor: Nils S. (kruemeltee) Benutzerseite
Datum:

Bewertung
1 lesenswert
nicht lesenswert
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.

Autor: Josef G. (bome) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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

Autor: Josef G. (bome) Benutzerseite
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
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.

Autor: Le X. (lex_91)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Josef G. schrieb:
> Habe die Implementierung von Conway's Game of Life überarbeitet.

Wo kann ich mir denn den Sourcecode dazu ansehen?

Autor: Josef G. (bome) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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 ...

Autor: Eddy Current (chrisi)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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.

Autor: Josef G. (bome) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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.

Autor: Eddy Current (chrisi)
Datum:

Bewertung
1 lesenswert
nicht lesenswert
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...

Autor: Nils S. (kruemeltee) Benutzerseite
Datum:

Bewertung
1 lesenswert
nicht lesenswert
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.

Autor: Eddy Current (chrisi)
Datum:

Bewertung
1 lesenswert
nicht lesenswert
Verstehe, Stichwort "sprechender Opcode", womit sich ein Assembler 
sowieso erübrigt.

Autor: Eric B. (beric)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Eddy C. schrieb:
> Stichwort "sprechender Opcode"

Was? Die Kiste kann Text-To-Speech? Ich bin sprachlos!

Autor: Nils S. (kruemeltee) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Eric B. schrieb:
> Ich bin sprachlos

Deshalb bist du auch weder Op noch Code.

Autor: Josef G. (bome) Benutzerseite
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
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.

Autor: Andreas Schweigstill (Firma: Schweigstill IT) (schweigstill) Benutzerseite
Datum:

Bewertung
2 lesenswert
nicht lesenswert
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.

Autor: Fürst Fürchtenix (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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.

Autor: Tom W. (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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.

Autor: Josef G. (bome) Benutzerseite
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
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.

: Bearbeitet durch User
Autor: ein Fan (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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ß

Autor: Josef G. (bome) Benutzerseite
Datum:

Bewertung
-1 lesenswert
nicht lesenswert
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.

Autor: Josef G. (bome) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert

Autor: Nils S. (kruemeltee) Benutzerseite
Datum:

Bewertung
1 lesenswert
nicht lesenswert
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...

Autor: Eddy Current (chrisi)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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.

Autor: Protomax (Gast)
Datum:

Bewertung
-1 lesenswert
nicht lesenswert
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)

Autor: Eddy Current (chrisi)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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 ;-)

Autor: Gustl Buheitel (-gb-)
Datum:

Bewertung
-1 lesenswert
nicht lesenswert
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.

Autor: Eddy Current (chrisi)
Datum:

Bewertung
1 lesenswert
nicht lesenswert
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 ;-)

Autor: Josef G. (bome) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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.

Autor: Tr (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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.

Autor: Le X. (lex_91)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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?

Autor: Josef G. (bome) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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.

Autor: Andreas Schweigstill (Firma: Schweigstill IT) (schweigstill) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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.

Autor: Michael Knoelke (Firma: Knoelke Elektronik) (knoelke)
Datum:

Bewertung
8 lesenswert
nicht lesenswert
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)

: Bearbeitet durch User
Autor: Andreas Schweigstill (Firma: Schweigstill IT) (schweigstill) Benutzerseite
Datum:

Bewertung
2 lesenswert
nicht lesenswert
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.

Autor: Mark Brandis (markbrandis)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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?

Autor: Andreas Schweigstill (Firma: Schweigstill IT) (schweigstill) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Mark B. schrieb:
> Warum nicht so?

Weil auch ich mittlerweile aufgegeben habe, davon auszugehen, dass Josef 
wirklich irgendwann auf solche Vorschläge eingehen wird.

Autor: Frank (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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

Der Apple II verfügte von Haus aus nicht über Zeitgeber (Timer)
und Unterbrechungen (Interrupts). Wozniak nannte als Grund dafür,
dass er das Design möglichst einfach halten wollte. Außerdem
hatte ein interruptgetriebener Tastaturtreiber versagt, so
dass er für diesen auf ein „Polling“-Verfahren zurückgriff.

Autor: Andreas Schweigstill (Firma: Schweigstill IT) (schweigstill) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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.

: Bearbeitet durch User
Autor: Josef G. (bome) Benutzerseite
Datum:

Bewertung
-2 lesenswert
nicht lesenswert
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

Autor: Falk Brunner (falk)
Datum:

Bewertung
6 lesenswert
nicht lesenswert
Man könnte auch versuchen, Kühlschränke an Eskimos zu verkaufen . . .

Autor: Josef G. (bome) Benutzerseite
Datum:

Bewertung
-5 lesenswert
nicht lesenswert

Autor: Jonas (Gast)
Datum:

Bewertung
4 lesenswert
nicht lesenswert
Hast Du immer nocht nicht aufgegeben?
Schade um die Zeit. Damit könnte etwas Sinnvolleres auf die Beine 
gestellt werden!

Autor: Manfred Freise (manfred_f)
Datum:

Bewertung
2 lesenswert
nicht lesenswert
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.

Autor: Jonas (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Manfred F. schrieb:
> Du dürftest wohl weltweit der einzige sein

Das Projekt hat halt was Einzigartiges :)

Autor: Mario (Gast)
Datum:

Bewertung
-1 lesenswert
nicht lesenswert
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.

Autor: Eddy Current (chrisi)
Datum:

Bewertung
1 lesenswert
nicht lesenswert
Es ist ein Projekt zum Selbermachen und Lernen. Da sind 8 Bit schon in 
Ordnung.

Autor: Dieter (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Mario schrieb:
> Habt Ihr schon Josef gefragt, was man mit dem ACHT-Bit-Computer alles
> tolles machen kann

Er kann damit Kurt auf der Suche nach den Seitenbändern behilflich sein:
https://groups.google.com/d/msg/de.sci.electronics...

Autor: Steve (Gast)
Datum:

Bewertung
-1 lesenswert
nicht lesenswert
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.

Autor: Eddy Current (chrisi)
Datum:

Bewertung
2 lesenswert
nicht lesenswert
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.

Autor: Klaus L. (klausi5000)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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.

: Bearbeitet durch User
Autor: Delaykiller (Gast)
Datum:

Bewertung
-1 lesenswert
nicht lesenswert
Klaus, Du hast irgendwo ein
delay(18_MONTHS);
kommentier das mal aus, dann geht's schneller.

Autor: Frank M. (ukw) (Moderator) Benutzerseite
Datum:

Bewertung
1 lesenswert
nicht lesenswert
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 ;-)

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.