Seite 5 von 5

Re: spinix ... oder : Sprachlos vor'm Propeller

Verfasst: Mi 2. Mai 2018, 14:10
von drohne235
Es startet mit serieller Ausgabe.
Könnte man also recht einfach auf Administra lauffähig machen, Regnatix/Bella könnten dabei Terminal spielen. Nur so für das Sphinix-Experiment zwischendurch... :twisted:

Re: spinix ... oder : Sprachlos vor'm Propeller

Verfasst: Do 3. Mai 2018, 14:36
von drohne235
Habe mir gerade mal den vi von spinix angeschaut, kann man ja mal was lernen. In main alloziert er dabei 16000 Bytes als Stringpuffer, was ich nicht verstehe, da in vi.spin nach dem compilieren nur noch knapp 11200 Bytes frei sind. Seltsame Sache das... *grübel*

Re: spinix ... oder : Sprachlos vor'm Propeller

Verfasst: Do 3. Mai 2018, 22:41
von PIC18F2550
COG-Code ist nach dem laden in den COG wie freier hRAM Speicher?

Re: spinix ... oder : Sprachlos vor'm Propeller

Verfasst: Fr 4. Mai 2018, 00:02
von yeti
PIC18F2550 hat geschrieben:COG-Code ist nach dem laden in den COG wie freier hRAM Speicher?
Manche DAT-Blöcke mit Code für Cogs können nach deren Start anders genutzt werden. Spin-Cogs rennen weitere Spin-Bytecode-Interpreter-Kopien aus dem ROM und brauchen weiterhin den Spin-Bytecode im HubRam, den sie ja interpretieren sollen.

@dr235: In VIs "PUB main(...)" taucht Folgendes auf:

Code: Alles auswählen

  memorysize := MALLOC_SIZE
  repeat while (memorysize > 0)
    strbuf := mem.malloc(memorysize)
    if (strbuf)
      quit
    memorysize -= 1000
Das riecht doch danach, daß der Code versucht, den tatsächlich freien Speicher zu bestimmen. Wenn's geklappt hat "mem.malloc(memorysize)" zu bekommen, dann "quit" die Schleife, andernfalls neuer Versuch mit 1000 Bytes weniger.

Die kurz danach folgende entschärfte Zeile...

Code: Alles auswählen

  'printf(string("memorysize = %d\n"), memorysize)
...würd auch keinen Sinn haben, wenn der Autor meinen würde, immer konstant die 16000 Bytes zu bekommen...