Videos & Co.

All das bitte hier rein.
Benutzeravatar
TuxFan
Beiträge: 1022
Registriert: So 6. Sep 2009, 11:18

Re: Videos & Co.

Beitrag von TuxFan »

Moin moin!
yeti hat geschrieben:..........................Zum Thema ARM-Beiwagen am Hive ist also noch viel zu forschen...
Leute nehmt es mir nicht übel aber beim Thema Hive mit ARM-Beiwagen fällt mir immer das Wort Overkill ein....... :roll: :? Das kleine ÄRMchen hat doch viel mehr PS unter der Haube als der Hive je haben wird. Heißt : "Der Beiwagen kann allein viiiiiiiiiiiiiiiiiiiiiiiiiiiiiiel mehr als das eigentliche Hauptgefährt".
Ein Editor ist sehr gut :DAUMENHOCH . Dazu wäre es schön, den Basicinterpreter nach Regnatix zu portieren, um das externe Ram zu nutzen. Also so etwas ähnliches wie ein Basic Micromite auf dem Prop. Dann wäre der Hive richtig Retro.........
Gruß
TuxFan
Wunder gibt es immer wieder.......
Benutzeravatar
yeti
Beiträge: 2300
Registriert: Fr 27. Aug 2010, 14:48
Wohnort: Wrong Planet
Kontaktdaten:

Re: Videos & Co.

Beitrag von yeti »

TuxFan hat geschrieben:Moin moin!
yeti hat geschrieben:..........................Zum Thema ARM-Beiwagen am Hive ist also noch viel zu forschen...
Leute nehmt es mir nicht übel aber beim Thema Hive mit ARM-Beiwagen fällt mir immer das Wort Overkill ein....... :roll: :?
Preislich ist das nicht Overkill. Ein RPI-Zero oder OPI-Zero/512M kostet so viel wie ein Propeller.

Ein TriOS, das auf dem Hive selbst kompiliert und aktualisiert werden kann ist das Ziel. Wenn das mit auf dem Hive selbst renennden Spincompilern möglich ist, ist mir das auch %1111101000-mal lieber!

Was könnte man noch in Sachen völlig autark Werdung veranstalten?

Wenn's mit Spin nicht klappt, dann vielleict ein komplett in (LMM-)PASM geschriebenes TriOS?
Die Code-Dichte von (LMM-)PASM ist spricht eigentlich dagegen.
Aber wenn ich an TRS80-Zeiten zurück denke und wieviele Overlays TRSDOS, NEWDOS und Co immer von der Diskette nachladen mussten... mit heftig Overlays könnt's vielleicht klappen.

Forth?
Interessant, aber macht Knoten ins Hirn des Anwenders.

SPASM?
Direkt im ByteCode der SpinVM coden ist eine interessante Idee und man könnte auch den SpinVM-Interpreter noch optimieren/erweitern/anpassen, wenn das Vorteile bringt, denn ob der aus dem ROM in Cog0 kommt oder erst von einem Bootloader von der SDKarte in den Cog katapultiert wird ist ja Würstchen...

C?
An einen auf dem Prop selber rennenden C-Compiler ist so bald nicht zu denken.
𝖂𝖎𝖗 𝖐𝖔̈𝖓𝖓𝖊𝖓 𝖆𝖑𝖑𝖊𝖘 𝖆𝖚𝖘𝖘𝖊𝖗 𝖎𝖓 𝕱𝖗𝖚̈𝖍𝖑𝖎𝖓𝖌, 𝕾𝖔𝖒𝖒𝖊𝖗, 𝕳𝖊𝖗𝖇𝖘𝖙 𝖚𝖓𝖉 𝖂𝖎𝖓𝖙𝖊𝖗! – 𝕯𝖊𝖚𝖙𝖘𝖈𝖍𝖑𝖆𝖓𝖉.
"Du willst hier nicht klicken. Dies interessiert Dich nicht." — Yeti.
"DNA is a four letter word!" — Yeti.
Benutzeravatar
PIC18F2550
Beiträge: 2831
Registriert: Fr 30. Sep 2011, 13:08

Re: Videos & Co.

Beitrag von PIC18F2550 »

Hallo Yeti,

bei "SphinxOS und Sphinxcompiler" liegt der interessante Teil anscheinend nur als bin dabei. :oops:

Die angeblichen Quellexte von "Homespun" entpuppen sich als ausführbare EXE Dateien :SCHREIEN
Weiter unten kommt dann noch eine Zip mit X.spin.
Das sieht aus wie LMM das verdreht einen das Hirn.

Bei spinix brauche ich dann wieder etwas C Verständnis was ich nicht habe.

Danke yeti mal sehen wie weit ich mit dem Reassembler komme den für den u8830 habe ich ja auch hin bekommen.
Gruß
PIC18F2550

drone265/278
Barbarus hic ergo sum, quia non intellegor ulli.
Ein Barbar bin ich hier, da ich von keinem verstanden werde.
ʎɐqǝ ıǝq ɹnʇɐʇsɐʇ ǝuıǝ ɹǝpǝıʍ ǝıu ǝɟnɐʞ ɥɔı ´uuɐɯ ɥo
Benutzeravatar
drohne235
Administrator
Beiträge: 2284
Registriert: So 24. Mai 2009, 10:35
Wohnort: Lutherstadt Wittenberg
Kontaktdaten:

Re: Videos & Co.

Beitrag von drohne235 »

Ich habe auch schon oft darüber nachgedacht, direkt in SPASM zu coden. Aber ich vermute, dass es letztlich zu umständlich ist, da es zu sehr auf die objektorientierte Metaebene von Spin ausgerichtet ist. Habt ihr eigendlich irgendwo mal eine Liste/Übersicht mit den SPASM Befehlen in lesbarer Form gefunden?

Forth ist natürlich obercool! :mrgreen: Zumindest wenn man Forth mag... :twisted: Naja, man muss aber nicht unbedingt in Forth programmieren, sondern könnte auch in MASM (mental-Assembler ;) direkt den m-Core in Assembler programmieren. Was von Forth dann ohne Wörterbuch bleibt, ist eine schnelle CPU mit Datenhandling auf dem COG internen Stack statt der Verwendung von Universalregistern.

Was mir aber die Geschichte mit mental gezeigt hat: es ist recht einfach, eine eigene spezielle CPU in einer COG zu modellieren. Was hindert uns eigentlich daran, uns eine solche universelle CPU unabhängig von Spin und Forth für den Hive zu erstellen, gleich mit passenden Bus & eRAM-Befehlen? Den ganzen objektorientierten Ansatz von Spin könnte man auf dieser Ebene weglassen, was den Maschinencode dann auch wieder einfach macht, wie man das von einer klassischen (Retro-) CPU gewohnt ist. Dann einen Assembler in Spin dazu geschrieben und es ist nicht mehr weit bis zum C-, Basic-, oder XXX-Compiler. Wir müssten nur ganz genau darüber nachdenken, was für ein Befehlssatz für den Hive-Computer sinnvoll wäre, gerade auch in Bezug zu den verschiedenen Speichermodellen (cRAM/hRAM/eRAM) und den damit zusammenhängenden Zugriffsgeschwindigkeiten. Da muss man einen gesunden Kompromiss finden zwischen viel Speicher für Code, ausreichender Arbeitsgeschwindigkeit und einfacher/sauberer Struktur des Maschinencodes. Aber sch denke, das wäre letztlich in jedem Fall cooler und effektiver, als irgendwelchen anderen unverständlichen Code zu recyclen, der dann auch nur mit Abstrichen und so lala für unsere Zwecke funktioniert. Nicht das ich nicht versucht hätte, mich durch Sphinx/Spinix und Co. zu wühlen, aber das ist letztlich ein ziemlich sinnloses Unterfangen...…DIY ist da so unendlich viel cooler und befriedigender! ;)

An sich ist Spin schon toll für genau das, wofür es gedacht ist: für genau einen Propellerchip, ohne Nutzung von externem RAM und zur Ausführung von genau einer Spin Anwendung auf dem Chip, also ohne zum Beispiel eine weitere Spin-Anwendung von SD nachladen zu wollen. Ohne diese Sachen ist Spin cool und einfach, aber dem entsprechend umständlich ist dann auch das Handling genau dieser Dinge, wie wir das ja nunmal auf dem Hive brauchen.

Was könnte man also in einer COG in 512 Befehlen/Registen unterbringen? Ich war anfangs skeptisch, dann aber sehr überrascht: Im mCore habe ich 64 Maschinencodebefehle und zwei Stacks (Return- und Datenstack) mit je 32 Einträgen in die COG integrieren können! Im Befehlssatz enthalten sind zum Beispiel auch Multiplikation/Division (um*, um/mod), Interchip Kommunikation (a!, a@, b!, b@) und der Zugriff auf die erste eRAM-Bank (x!, x@). Und das war mehr oder weniger mein erster umfangreicherer PASM-Code!
"Ob Sie denken, dass Sie es können, oder ob Sie denken, dass Sie es nicht können - in beiden Fällen haben Sie recht." Henry Ford
Benutzeravatar
yeti
Beiträge: 2300
Registriert: Fr 27. Aug 2010, 14:48
Wohnort: Wrong Planet
Kontaktdaten:

Re: Videos & Co.

Beitrag von yeti »

PIC18F2550 hat geschrieben:bei "SphinxOS und Sphinxcompiler" liegt der interessante Teil anscheinend nur als bin dabei. :oops:
Quellen sind vorhanden: http://www.sphinxcompiler.com/Home/downloads
PIC18F2550 hat geschrieben:Die angeblichen Quellexte von "Homespun" entpuppen sich als ausführbare EXE Dateien :SCHREIEN
HomeSpun-Quellen sind dort wo ich hinzeigte... es sind die auf ".cs.txt" endenden Files. Ich habe nie behauptet, HomeSpun sei in Spin geschrieben.
Außerdem unter https://github.com/ZiCog/HomeSpun aber was diese 0.32 von der 0.31 im Forum unterscheidet habe ich noch nicht ergründelt...
PIC18F2550 hat geschrieben:Bei spinix brauche ich dann wieder etwas C Verständnis was ich nicht habe.
Im Spinix-ZIP sind die C-Quellen und die daraus entstanden Spin-Files.
𝖂𝖎𝖗 𝖐𝖔̈𝖓𝖓𝖊𝖓 𝖆𝖑𝖑𝖊𝖘 𝖆𝖚𝖘𝖘𝖊𝖗 𝖎𝖓 𝕱𝖗𝖚̈𝖍𝖑𝖎𝖓𝖌, 𝕾𝖔𝖒𝖒𝖊𝖗, 𝕳𝖊𝖗𝖇𝖘𝖙 𝖚𝖓𝖉 𝖂𝖎𝖓𝖙𝖊𝖗! – 𝕯𝖊𝖚𝖙𝖘𝖈𝖍𝖑𝖆𝖓𝖉.
"Du willst hier nicht klicken. Dies interessiert Dich nicht." — Yeti.
"DNA is a four letter word!" — Yeti.
Benutzeravatar
yeti
Beiträge: 2300
Registriert: Fr 27. Aug 2010, 14:48
Wohnort: Wrong Planet
Kontaktdaten:

Re: Videos & Co.

Beitrag von yeti »

drohne235 hat geschrieben:Was mir aber die Geschichte mit mental gezeigt hat: es ist recht einfach, eine eigene spezielle CPU in einer COG zu modellieren. Was hindert uns eigentlich daran, uns eine solche universelle CPU unabhängig von Spin und Forth für den Hive zu erstellen, gleich mit passenden Bus & eRAM-Befehlen?
Nichts und Niemand...

Aber für eine eigene Erfindung müssen wir jede Zeile Code selber schreiben und dann ist es wieder ein weiter weg bis zu Editor, Compilern, ... wir ständen einsamer da als bei einer Lösung in PASM oder Spin, für die es ja schon manch Codeschnipsel von Dritten gibt...

Wenn wir eine existierende CPU emulieren, können wir mindestens teilweise schon vorhandene Ressourcen nutzen. Im Extremfall könnte ein fest mit Hive und TriOS verwobenes (z.B.) CP/M die Türe zu etlichen Programmiersprachen und Tools aufstoßen, die dann vielleicht sogar helfen könnten sowas wie Spincompiler angenehmer realisiert zu bekommen...

Aber vielleicht gibt's ja noch wertvolle Überraschungen beim Basteln eigener CPUs?
Das muß länger gären und ist vermutlich erst manch Experiment auf Single-Prop-Boards wert...
𝖂𝖎𝖗 𝖐𝖔̈𝖓𝖓𝖊𝖓 𝖆𝖑𝖑𝖊𝖘 𝖆𝖚𝖘𝖘𝖊𝖗 𝖎𝖓 𝕱𝖗𝖚̈𝖍𝖑𝖎𝖓𝖌, 𝕾𝖔𝖒𝖒𝖊𝖗, 𝕳𝖊𝖗𝖇𝖘𝖙 𝖚𝖓𝖉 𝖂𝖎𝖓𝖙𝖊𝖗! – 𝕯𝖊𝖚𝖙𝖘𝖈𝖍𝖑𝖆𝖓𝖉.
"Du willst hier nicht klicken. Dies interessiert Dich nicht." — Yeti.
"DNA is a four letter word!" — Yeti.
Benutzeravatar
PIC18F2550
Beiträge: 2831
Registriert: Fr 30. Sep 2011, 13:08

Re: Videos & Co.

Beitrag von PIC18F2550 »

@Yeti
Ok das sieht mir alles nicht nach Spin Quellcode aus.
Und mit C hab ich nichts am Hut.
Danke

@drohne235
Ein einzelner COG verhält sich auch nicht anders als ein Z80.
Die Besonderheiten betreffen nur die gleichzeitige Verwendung des hrams.

Eine Auflistung, Beschreibung und Bitaufbau der Befehle findest du in der Propellerdoku.
Wunderbar in englisch erklärt.
Dateianhänge
P8X32A-Web-PropellerManual-v1.2.pdf
(4.7 MiB) 491-mal heruntergeladen
Gruß
PIC18F2550

drone265/278
Barbarus hic ergo sum, quia non intellegor ulli.
Ein Barbar bin ich hier, da ich von keinem verstanden werde.
ʎɐqǝ ıǝq ɹnʇɐʇsɐʇ ǝuıǝ ɹǝpǝıʍ ǝıu ǝɟnɐʞ ɥɔı ´uuɐɯ ɥo
Benutzeravatar
drohne235
Administrator
Beiträge: 2284
Registriert: So 24. Mai 2009, 10:35
Wohnort: Lutherstadt Wittenberg
Kontaktdaten:

Re: Videos & Co.

Beitrag von drohne235 »

@PIC18F2550
@drohne235
Ein einzelner COG verhält sich auch nicht anders als ein Z80.
Die Besonderheiten betreffen nur die gleichzeitige Verwendung des hrams.

Eine Auflistung, Beschreibung und Bitaufbau der Befehle findest du in der Propellerdoku.
Wunderbar in englisch erklärt.
???
Dateianhänge
20170608_003428.jpg
"Ob Sie denken, dass Sie es können, oder ob Sie denken, dass Sie es nicht können - in beiden Fällen haben Sie recht." Henry Ford
Benutzeravatar
drohne235
Administrator
Beiträge: 2284
Registriert: So 24. Mai 2009, 10:35
Wohnort: Lutherstadt Wittenberg
Kontaktdaten:

Re: Videos & Co.

Beitrag von drohne235 »

@PIC18F2550

Jetzt habe ich es verstanden. :roll: Nicht PASM, sondern SPASM (Spin-Assembler), es geht also um eine Befehlsliste des Spin Tokencodes.

@Yeti

Aber für eine eigene Erfindung müssen wir jede Zeile Code selber schreiben und dann ist es wieder ein weiter weg bis zu Editor, Compilern, ... wir ständen einsamer da als bei einer Lösung in PASM oder Spin, für die es ja schon manch Codeschnipsel von Dritten gibt...

Ein Teufelskreis… :twisted:

Bei Z80 & CP/M fällt mir aber was ein: Wenn wie eine Z80 Emulation auf den eRAM umbiegen und mit Semaphoren multicorig machen, könnten wir in mehreren 64K Pages im eRAM CP/M mehrmals starten. Quasi CP/M Multitasking auf die harte Tour! 8-) Ich glaube das hat es in dieser Form auch noch nie gegeben. Nachteil ist aber vielleicht wieder das Dateisystem, ist ja kein FAT, also muss man wieder mit Imagedateien arbeiten. Ich glaube ich muss mir die verschiedenen Z80 Emus für den Prop (Es waren doch glaube mindestens zwei?) mal anschauen.
"Ob Sie denken, dass Sie es können, oder ob Sie denken, dass Sie es nicht können - in beiden Fällen haben Sie recht." Henry Ford
Benutzeravatar
yeti
Beiträge: 2300
Registriert: Fr 27. Aug 2010, 14:48
Wohnort: Wrong Planet
Kontaktdaten:

Re: Videos & Co.

Beitrag von yeti »

PIC18F2550 hat geschrieben:@Yeti
Ok das sieht mir alles nicht nach Spin Quellcode aus.
Und mit C hab ich nichts am Hut.
Danke
Wie ich bei der ersten Erwähnung schon schrieb, habe ich Homespun nur erwähnt, weil er vom selben Autor wie der Spinxcompiler ist.
𝖂𝖎𝖗 𝖐𝖔̈𝖓𝖓𝖊𝖓 𝖆𝖑𝖑𝖊𝖘 𝖆𝖚𝖘𝖘𝖊𝖗 𝖎𝖓 𝕱𝖗𝖚̈𝖍𝖑𝖎𝖓𝖌, 𝕾𝖔𝖒𝖒𝖊𝖗, 𝕳𝖊𝖗𝖇𝖘𝖙 𝖚𝖓𝖉 𝖂𝖎𝖓𝖙𝖊𝖗! – 𝕯𝖊𝖚𝖙𝖘𝖈𝖍𝖑𝖆𝖓𝖉.
"Du willst hier nicht klicken. Dies interessiert Dich nicht." — Yeti.
"DNA is a four letter word!" — Yeti.
Antworten