HiveOS Phase 1 - *.binary laden

Du hast ein Betriebssystem für den Hive geschrieben oder beschäftigst dich mit den grundlegenden Systemfunktionen, dann bist du hier richtig!
Benutzeravatar
Rainer
Beiträge: 510
Registriert: Fr 29. Mai 2009, 16:11

Re: HiveOS Phase 1 - *.binary laden

Beitrag von Rainer »

DJLinux hat geschrieben:Läuft so weit cogs ist prima :)
aber sag mal was soll eigentlich bei Reboot passieren?
(ich muss da gleich nochmal in den Quellcode schauen)

Grüsse Joshy

PS. Was bei Dir orange ist sieht hier wie sattes rot aus.
Ist bei mir auch sattes Rot
Die Kamera bringt mich noch um den Verstand .. irgendwie mag die keine Monitore .. in der "Wildnis" macht die Fotos wie ein Weltmeister.

Reboot sollte eigentlich genau das tun .. ich hab' da nichts angefasst ... und auch noch nie verwendet, muß ich zu meiner Schande gestehen.
"Wer andauernd begreift, was er tut, bleibt unter seinem Niveau."
BorgKönig
Beiträge: 598
Registriert: So 24. Mai 2009, 11:24

Re: HiveOS Phase 1 - *.binary laden

Beitrag von BorgKönig »

Rainer hat geschrieben:
DJLinux hat geschrieben:Läuft so weit cogs ist prima :)
aber sag mal was soll eigentlich bei Reboot passieren?
(ich muss da gleich nochmal in den Quellcode schauen)
Reboot führt ein Software Reset des Propellers aus.
DJLinux

Re: HiveOS Phase 1 - *.binary laden

Beitrag von DJLinux »

Das Orange fände ich prima mit dem Blau sieht es Retro aus
wie die alte Amiga Workbench

Grüsse Joshy
Benutzeravatar
drohne235
Administrator
Beiträge: 2284
Registriert: So 24. Mai 2009, 10:35
Wohnort: Lutherstadt Wittenberg
Kontaktdaten:

Re: HiveOS Phase 1 - *.binary laden

Beitrag von drohne235 »

Hab mich noch nie so über ein paar zusätzliche Kommandos gefreut. :mrgreen:
"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
Rainer
Beiträge: 510
Registriert: Fr 29. Mai 2009, 16:11

Re: HiveOS Phase 1 - *.binary laden

Beitrag von Rainer »

drohne235 hat geschrieben:Hab mich noch nie so über ein paar zusätzliche Kommandos gefreut. :mrgreen:
Hehe ... ja ich weiß .. ich habe 3 Projekte hier rumliegen und nix wird fertig .. sorry.

Ist aber alles (wieder) so unglaublich spannend ... ich probiere da was ... geht .. sofort will ich das woanders anwenden, weil ich da wieder eine Idee habe .. habe hier 3 oder 4 angefangene Spiele, nur weil ich da einen Pixelbildschirmtreiber gefunden habe, da eine Scrollroutine ausprobiere, usw.

Schwer an einem Thema dran zu bleiben, was bei mir eigentlich die Regel ist (dran zu bleiben meine ich).
Andererseits lerne ich durch die "rumhoppserei" sehr viel .. ist ja auch was ;)

Sorry für OffTopic.

Gruß.
Rainer
"Wer andauernd begreift, was er tut, bleibt unter seinem Niveau."
DJLinux

Re: HiveOS Phase 1 - *.binary laden

Beitrag von DJLinux »

Rainer damit Dir nicht vorzeitig der Speicher aus geht packe doch immer wieder kerende Sachen in Methoden oder Funktionen.

z.B. ist es günstiger 3 x eine Methode aufzurufen als den gleichen code 3 mal hintereinander zu schreiben.

Code: Alles auswählen

PRI COGs(pName,nCogs) | i
  ios.setcolor(act_color)
  ios.print(pName)
  repeat i from 1 to 8
    if (i=<nCogs)
      ios.setcolor(RED)
    else
      ios.setcolor(GREEN)
    ios.print(string("•"))
  ios.printnl
    
PUB get_free_cogs | i
  ios.print(@cogs4)
  ios.printnl  
  repeat i from 0 to 2
    Cogs(@@(cognames[i]),8-ios.getcogs(i))
  
  ios.setcolor(act_color)
  ios.print(@cogs4)
  ios.printnl
  ios.print(string(" ("))
  ios.setcolor(RED)
  ios.print(string("•"))
  ios.setcolor(act_color)
  ios.print(@cogs5)
  ios.printnl

' Das muss in die DAT Section
  cognames      word @cogs1, @cogs2, @cogs3 

[original]

Code: Alles auswählen

PUB get_free_cogs | i,l

  i := 0
  ios.print(@cogs4)
  ios.printnl  
  ios.setcolor(act_color)
'**********************************************
  i := 0
  i := ios.getcogs(0)                                   'regnatix
  l := 8 - i
  ios.print(@cogs1)
  repeat
      ios.setcolor(RED)
      ios.print(string("•"))
      l--
  until l == 0
  repeat
      ios.setcolor(GREEN)
      ios.print(string("•"))
      i--
  until i == 0
  ios.setcolor(act_color)
  ios.printnl
  i := 0
  i := ios.getcogs(1)                                   'administra
  l := 8 - i                                   
  ios.print(@cogs2)
  repeat
      ios.setcolor(RED)
      ios.print(string("•"))
      l--
  until l == 0
  repeat
      ios.setcolor(GREEN)
      ios.print(string("•"))
      i--
  until i == 0
  ios.setcolor(act_color)
  ios.printnl
  i := 0
  i := ios.getcogs(2)                                   'bellatrix
  l := 8 - i
  ios.print(@cogs3)
  repeat
      ios.setcolor(RED)
      ios.print(string("•"))
      l--
  until l == 0
  repeat
      ios.setcolor(GREEN)
      ios.print(string("•"))
      i--
  until i == 0
  '************************************
  ios.setcolor(act_color)
  ios.printnl
  ios.print(@cogs4)
  ios.printnl
  ios.print(string(" ("))
  ios.setcolor(RED)
  ios.print(string("•"))
  ios.setcolor(act_color)
  ios.print(@cogs5)
  ios.printnl
Benutzeravatar
Rainer
Beiträge: 510
Registriert: Fr 29. Mai 2009, 16:11

Re: HiveOS Phase 1 - *.binary laden

Beitrag von Rainer »

DJLinux hat geschrieben:Rainer damit Dir nicht vorzeitig der Speicher aus geht packe doch immer wieder kerende Sachen in Methoden oder Funktionen.....
Danke für Deine Mühe Joshy ... aber das ist nur Arbeitscode ... zusammenfassen tue ich meist später ... und in der neueren Version ist das auch schon passiert.
Ich tue mich einfach leichter, wenn ich erstmal das Zeug "aufgedröselt" teste ... wenn's dann funktioniert, gehe ich durch jede Funktion und schaue, ob's nach dem Zusammenfassen noch geht .. dann zur nächsten, usw.

Ich bin schon elend reingefallen wenn ich zu früh Funktionen/Objekte bilde ... da kann die Fehlersuche zu Horrortrip werden.

Aber das weißt Du ja sicher.

[EDIT]
Gelernt habe ich trotzdem was.
Diese Zeile ist cool .. "Cogs(@@(cognames),8-ios.getcogs(i))"
da wäre ich nicht drauf gekommen ..
Danke dafür :)
[/EDIT]

Gruß.
Rainer
"Wer andauernd begreift, was er tut, bleibt unter seinem Niveau."
DJLinux

Re: HiveOS Phase 1 - *.binary laden

Beitrag von DJLinux »

Rainer hat geschrieben: [EDIT]
Gelernt habe ich trotzdem was.
Diese Zeile ist cool .. "Cogs(@@(cognames),8-ios.getcogs(i))"
da wäre ich nicht drauf gekommen ..
Danke dafür :)
[/EDIT]
Deshalb hab ich das ja auch geposted ;)
Ne wirklich wenn Du in die DAT Sektion schaust die Stringpointer sind nur WORD's und in einem IOS wird es immer Strings geben die öfter zum zuge kommen und da machen PointerArrays "Sinn in Spin" der Tricky Part ist ja das PointerArray[index] nicht wirklich die Lösung ist sondern halt @@(PointerArray[index])

Vielleicht sogar so fundamental das man es in die Wiki unter Codeschnipsel posten könnte.

Happy cooding

Joshy
Zuletzt geändert von DJLinux am Mo 17. Aug 2009, 21:13, insgesamt 1-mal geändert.
Benutzeravatar
drohne235
Administrator
Beiträge: 2284
Registriert: So 24. Mai 2009, 10:35
Wohnort: Lutherstadt Wittenberg
Kontaktdaten:

Re: HiveOS Phase 1 - *.binary laden

Beitrag von drohne235 »

Diese Zeile ist cool .. "Cogs(@@(cognames),8-ios.getcogs(i))"
da wäre ich nicht drauf gekommen ..


Da komme ich jetzt auch noch nicht drauf... :oops:

Ich bin ja immer noch der Meinung, dass "8-ios" so eine Art Smily ist - wahrscheinlich sowas wie "drohne spricht hivisch"... :mrgreen:
"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
DJLinux

Re: HiveOS Phase 1 - *.binary laden

Beitrag von DJLinux »

drohne235 hat geschrieben:Da komme ich jetzt auch noch nicht drauf... :oops:
Ist doch klar wenn man sich eine Familie mit Haus Unterhält dann hat man halt nicht 32 Stunden am Tag Zeit um zu Programmieren. :lol:
Antworten