Seite 14 von 20

Re: HBasic

Verfasst: So 2. Dez 2012, 00:07
von PIC18F2550
So jetzt mal einen Zwischenstand.

Dank kuroneko konnte der Sprungverteiler auf Call's umgestellt und seine Größe halbiert werden.

z.Z. Kann ich nur Daten an Bellatrix Senden das ist aber das Wichtigste zum Testen.

Jetzt muß ich mir ersteinmal gedanken um die Benötigten Befehlsaufbauten machen.

Re: HBasic

Verfasst: So 2. Dez 2012, 01:30
von PIC18F2550
Gleich mal Bellatrix um 2 Befehle erweitert.

PrintHex und PrintBin.

Ihr habt recht diese Funktion ist auch im reg-ios.spin nur HBASIC verwendet kein Spin zur Laufzeit so das umwandeln im Regnatix-COG bzw. im Bellatrix hinein muß.
2012-12-02_01-23-49_351.jpg

Re: HBasic

Verfasst: So 2. Dez 2012, 10:26
von drohne235
Ihr habt recht diese Funktion ist auch im reg-ios.spin nur HBASIC verwendet kein Spin zur Laufzeit so das umwandeln im Regnatix-COG bzw. im Bellatrix hinein muß.
Ich finde, dass ist genau der richtige Weg auf dem Hive: Einfach den binären Wert zu Bella senden, soll diese sich doch um die Konvertierung und Ausgabe kümmern. So werden Möglichkeiten der Nebenläufigkeit beim Hive am besten genutzt. In mental mache ich das auch genau so.

Re: HBasic

Verfasst: So 2. Dez 2012, 12:40
von PIC18F2550
Die Ausgaben sind das kleinere problem.

Viel interessanter ist das auch die Eingabe Zeilen für den Commandointerpreter auch in Bellatrix zusammengebaut werden sollen.
Ein Abgleich mit den Befehlssatz und Richtigkeit bleibt Regnatix mit seiner IDE vorbehalten.

Jetzt kommt ersteinmal der schnelle Bau einer Bustestplatiene.
Fehlersuche warum keine Daten von Bellatrix/Regnatix gelesen werden.

Und die initalisierung von Regnatix muß überarbeitet werden. Diese kommt z.Z. mit dem Terminal ins konflikt.

Adressen werden wenn sie keine Variabeln sind als 24Bit verarbeitet :DAUMENHOCH viel Platz für optionen.
Ob damit auch der RuntimeCode gelesen werden soll weis ich noch nicht da ca. 28k dafür zur verfügung stehen

Re: HBasic

Verfasst: So 2. Dez 2012, 12:41
von PIC18F2550
Ach so :shock: bei den beiden neuen Ausgaben fehlen noch $ für HEX und % für BIN :SCHRAUBEN

Re: HBasic

Verfasst: Mo 3. Dez 2012, 20:52
von PIC18F2550
Das Basis-Runtimerweiterungs-Modul

There are 397 ($18D) Longs left in the cog

zur freien verwendung.
rt01.spin
(7.7 KiB) 512-mal heruntergeladen
Damit währe der Weg frei für optionen wie ein Festkommaarithmetikrechner oder eine I2C Busanbindung.

Re: HBasic

Verfasst: Mi 5. Dez 2012, 12:48
von TuxFan
Hallo!
Ääääääähhhhhh
rt01.spin , hu , what is it good for ?
oder mit anderen Worten : Was kann ich als PASM-Anfänger damit anfangen ?
Könnte man die ganze Geschichte etwas mehr kommentieren oder mit einem Beispiel aufpeppen?
Das ist aber jetzt noch nicht das ganze H-Basic ?
In völliger Ahnungslosigkeit aber voller Wissensdrang .....
Gruß
TuxFan

Re: HBasic

Verfasst: Mi 5. Dez 2012, 13:17
von PIC18F2550
TuxFan hat geschrieben:Das ist aber jetzt noch nicht das ganze H-Basic ?
nein nur eins von 255 freien COG-modulen

HBASIC geht in richtung compiler in art VisualBasic.
Die IDE ist noch komplett außen vor.

Die grundlage bilden die 8Runtimmodule die gleichzeitig laufen können.
das 1. runtimemodul kann nicht entladen werden da dort die Anbindung zum Hive läuft.

Während der laufzeit können die Runtimemodule aus dem externen RAM nachgeladen werden.

Variabeln (außer die von Texten)sind im hRAM
Das Programm steht z.Z. im hRAM ab adresse 0. darum kümmert sich runtime 0

Alle runtimmodule laufen syncron.

Jetzt muß ich erstmal Arbeiten heute Abend dann mehr.

Re: HBasic

Verfasst: Mi 5. Dez 2012, 17:49
von TuxFan
Äääähhhhhh, bevor es in viel zusätzliche Arbeit entartet, wäre vielleicht ein grobes/einfaches Ablaufdiagramm von dem Compiler interessant (Handzeichnung auf Papier reicht auch), damit man vielleicht den Baustein einordnen kann. Ich hab vom Compilerbau absolut 0 Ahnung. Ist vielleicht auch für andere interessant.
Gibt es da vielleicht ein Buch (z.B. Compilerbau für Dummies) das auch ein nicht IT-studierter Laie versteht ?
Gruß
TuxFan

Re: HBasic

Verfasst: Mi 5. Dez 2012, 18:10
von PIC18F2550
Also kurz:

Das sind erst die ersten Krümel vom Brocken :LACHEN

Im ernst das sind erst die ersten Versuche und mit der Umsetzung von Quelltext ist noch garnicht zu denken.

Hier geht es ersteinmal die 512 long beschränkung der COG's aufzubrechen.
Dazu wird die möglichkeit mehrere COG's gleichzeitig an einer art Zwischencod werkeln zu lassen experimentel geübt.

Eine LMM wolte ich nicht verwenden da die nutzung mehrerer COG's nicht ganz einfach ist. Obwohl eine Runtime irgendwie wie eine LMM aussieht. :LACHEN

Desweiteren wollte ich den internen Speicher zu ca. 90% frei für den Zwischencod haben der Rest Variabeln je 26x bool/byte/word/long die 26xStringvariabeln sind dann auf dem externen Ram(1Mb).

z.Z. überlege ich noch ob ich den Zwischencod im externen Ram lasse um dadurch die maximalen 1Mb nutzen zu können.(aber längere Programm laufzeiten)

Aber wie gesagt z.Z noch alles Theorie

Der Baustein ist z.B. für jemand der lust hätte eine Festkommaarithmetikeinheit zu basteln die könnte ich dann integrieren ohne Probleme. :mrgreen: