TriOS mit Netzwerk

Du hast ein Betriebssystem für den Hive geschrieben oder beschäftigst dich mit den grundlegenden Systemfunktionen, dann bist du hier richtig!
Benutzeravatar
PIC18F2550
Beiträge: 2831
Registriert: Fr 30. Sep 2011, 13:08

Re: TriOS mit Netzwerk

Beitrag von PIC18F2550 »

Das Problem mit der Kompartiebilität hatte ich schon mal angesprochen.
Und dabei auf den einsatz eines 9. Bits ähnlich wie bei einer Z80-PIO das D/C-Pin hingedeutet.

ALLE COMMANDOS in ALLEN adm$$$.spin Dateien müssen vorhanden sein keine darf ausgelassen sein oder mit anderen Funktionen belegt werden!

Wenn Routinen aus Platzgründen entfallen müssen, müssen Dummy Routinen das jeweilige das Commando richtig über den Bus abwickeln!

Der 8 Bit-Bus des HIVES unterscheidet nicht zwischen Daten und Commandos!

Missverstandenne Daten/Commandos verursachen schwer nachvollziehbare Probleme.

Es muss eine Liste erstellt werden Welche Commandos den Grundstock Bilden und welcher Bereich der 8 Bit den Varianten vorenthalten ist.
Dieser varuabele Bereich steht dem jeweiligen Programm als extra zur verfügung.
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
TuxFan
Beiträge: 1022
Registriert: So 6. Sep 2009, 11:18

Re: TriOS mit Netzwerk

Beitrag von TuxFan »

joergd hat geschrieben:Bei Dir funktioniert htext? Bei mir wird da (fast) nur Müll angezeigt....
Wenn ich die bel-vga.spin unverändert benutze werden mindestens 3 Zeilen am unteren Ende verschluckt. Wenn ich bel-vga.spin mit den anderen VGA-Daten für die Bildschirmeinstellung ändere werden alle Zeilen im TriOS angezeigt, z.B. beim DIR-Befehl. Die Farbdarstellung ist dann Schwarz/Dunkelgrau auf Weiß. Wenn ich dann IRC nach Laden von admnet.adm aufrufe gibt es eine vollkommen zerstückelte Darstellung am oberen Bildschirmrand bei gleicher Farbeinstellung. Ändere ich nun noch bel-htext.spin und flashe ich das EEProm neu, ist die Darstellung so wie sie in den veröffentlichten Bildern zu sehen ist. Siehe auch hier. D.h. in beiden Dateien müssen die VGA-Einstellungen auf 60Hz geändert werde. Die alten Einstellungen bringen laut des alten Treibers 57Hz. Das ist für manche TFT-Monitore unakzeptabel. Die wollen zwingend wie meiner 60Hz.

Hier meine Einstellungen für bel-htext.spin

Code: Alles auswählen

' 1024 x 768 @ 60Hz settings: 128 x 64 characters
  hp = 1024     'horizontal pixels
  vp = 768      'vertical pixels
  hf = 24  '16       'horizontal front porch pixels
  hs = 136 '96       'horizontal sync pixels
  hb = 160 '176      'horizontal back porch pixels
  vf = 3   '1        'vertical front porch lines
  vs = 6   '3        'vertical sync lines
  vb = 29  '28       'vertical back porch lines
  hn = 1        'horizontal normal sync state (0|1)
  vn = 1        'vertical normal sync state (0|1)
  pr = 65  '60       'pixel rate in MHz at 80MHz system clock (5MHz granularity)
und für bel-vga.spin

Code: Alles auswählen

' 1024 x 768 @ 60Hz settings
  hp = 1024                     'horizontal pixels
  vp = 768                      'vertical pixels
  hf = 24  '16                       'horizontal front porch pixels
  hs = 136 '96                       'horizontal sync pixels
  hb = 160 '176                      'horizontal back porch pixels
  vf = 3   '1                        'vertical front porch lines
  vs = 6   '3                        'vertical sync lines
  vb = 29  '28                       'vertical back porch lines
  pr = 65  '60                       'pixel rate in MHz at 80MHz system clock (5MHz granularity)
  ht = hp + hf + hs + hb        'total scan line pixels
Ich hab die alten Werte immer auskommentiert.
joergd hat geschrieben:....Plexus hab ich auch gerade nochmal probiert. Wenn ich das auf die Schnelle richtig überblicke, werden da aber alle Chips mit neuer Software versorgt. Also auch Administra. Ich glaube nicht, daß da admnet einfach so mit läuft. Demzufolge hing Plexus bei mir auch, als ich das getestet habe. Darüber hinaus nutzt Plexus auch den externen RAM. Den verwendet der IRC-Client als Fenster-Puffer....
Ich hab das auch eben ausprobiert mit negativem Erfolg. Admnet.adm kann man nicht laden.
joergd hat geschrieben:.....Damit das zusammen läuft, muß also sicher einiges angepaßt werden. Ich schau mir das aber in jedem Fall mal an, wäre schon schön, wenn Plexus und IRC-Client zusammen laufen würden.
Nach meiner unmaßgeblichen Meinung würde es erstmal genügen wenn über Plexus ein Programm zum Laden von admnet.adm und dann von irc.bin aktiviert würde. Plexus würde dann vollständig ersetzt. Beim Beenden von IRC müßte dann Plexus wieder hergestellt werden. So ähnlich hab ich das früher zu dosschen Zeiten gemacht. Menü lädt Programm, das wiederum das Menü beim Beendigen aufruft.
Nunja, ist zur Zeit ja auch mit zwei SD-Karten (TriOS mit Netz/Plexus) zu haben, eilt aber auch nicht. Selber bin ich noch lange nicht soweit für den Hive zu programmieren. Mir reicht schon ein Propeller. :?
Gruß
TuxFan
Wunder gibt es immer wieder.......
joergd
Beiträge: 124
Registriert: Fr 20. Dez 2013, 20:08
Wohnort: Ronneburg

Re: TriOS mit Netzwerk

Beitrag von joergd »

Bei meinem kritischen Monitor bekomme ich überhaupt erst eine Anzeige, wenn ich das Timing in bel-vga.spin anpasse. Das hat aber m.E erstmal nichts mit bel-htext.spin zu tun. Das wird erst benutzt, wenn man "htext" in bellatrix lädt (oder gleich dahin flasht). Gebe ich "htext" ein, siehts aus wie z.B. hier. Wenn man sich das mal genauer ansieht (im Source), sieht man, daß bel-htext.spin wesentlich weniger Funktionen zur Verfügung stellt. Kann also eigentlich gar nicht gehen.
TuxFan hat geschrieben:Nach meiner unmaßgeblichen Meinung würde es erstmal genügen wenn über Plexus ein Programm zum Laden von admnet.adm und dann von irc.bin aktiviert würde. Plexus würde dann vollständig ersetzt. Beim Beenden von IRC müßte dann Plexus wieder hergestellt werden. So ähnlich hab ich das früher zu dosschen Zeiten gemacht. Menü lädt Programm, das wiederum das Menü beim Beendigen aufruft.
Könnte man wahrscheinlich in den IRC-Client reinbasteln, insgesamt sinnvoller wäre aber wahrscheinlich, wenn Plexus eine solche Funktion bietet (TriOS wiederherstellen, Programm ausführen, Plexus laden). Zusätzlich Schwierigkeiten gibts dann mit dem eRAM, den nutzt der IRC-Client nach Regime-Vorgaben im "sysmod", Plexus nutzt dieselben Bereiche. Da könnte man sich aber sicher einigen.
Viele Grüße

Jörg
Benutzeravatar
PIC18F2550
Beiträge: 2831
Registriert: Fr 30. Sep 2011, 13:08

Re: TriOS mit Netzwerk

Beitrag von PIC18F2550 »

Wie währe es mit einer push/pop eRam Funktion.
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
zille9
Beiträge: 399
Registriert: Do 4. Okt 2012, 21:56
Wohnort: Berlin

Re: TriOS mit Netzwerk

Beitrag von zille9 »

Könnte man wahrscheinlich in den IRC-Client reinbasteln, insgesamt sinnvoller wäre aber wahrscheinlich, wenn Plexus eine solche Funktion bietet (TriOS wiederherstellen, Programm ausführen, Plexus laden). Zusätzlich Schwierigkeiten gibts dann mit dem eRAM, den nutzt der IRC-Client nach Regime-Vorgaben im "sysmod", Plexus nutzt dieselben Bereiche. Da könnte man sich aber sicher einigen.
Ich misch mich mal kurz ein, ich kann meinen Hive mit dem IRC-Clienten zur Zeit leider nicht nutzen, deshalb von mir hier ein Tip für die Rückkehr von gestarteten Programmen zu Plexus. Es genügt im IRC-Clienten admnet usw. zu laden und nach Beendigung einfach alle Chips resetten (über Softwarebefehl), dann startet der Hive, wie nach dem Einschalten (wird beim Basic auch so gemacht) und lädt Plexus oder Regime(je nachdem, was als reg.sys im Hauptverzeichnis steht). Was im eRam in der Zwischenzeit passiert ist, interessiert Plexus nicht, da es ja komplett neu gestartet wird. Lediglich das Warmstart-Flag, was das Laden des Begrüßungsbildschirmes verhindert, wird von Plexus ausgewertet und das könnte man verschmerzen oder umverlegen, falls nötig.

Übrigens, Danke TuxFan für die Vorgaben im VGA-Treiber, seitdem zeigt mein Monitor endlich ein Bild, hab so einen kombinierten VGA-AV-Monitor, der zeigte mit den Standardeinstellungen gar kein Bild. Jetzt hab ich nach langer Zeit mal wieder Regime zu Gesicht bekommen :DAUMENHOCH
Computer lösen die Probleme, die man ohne sie gar nicht hätte!
joergd
Beiträge: 124
Registriert: Fr 20. Dez 2013, 20:08
Wohnort: Ronneburg

Re: TriOS mit Netzwerk

Beitrag von joergd »

zille9 hat geschrieben:Ich misch mich mal kurz ein
Sehr gern :)
zille9 hat geschrieben:Es genügt im IRC-Clienten admnet usw. zu laden und nach Beendigung einfach alle Chips resetten (über Softwarebefehl), dann startet der Hive, wie nach dem Einschalten
Da ich das jetzt nicht gleich in den IRC-Client einbauen wollte, habe ich einen kleinen Loader geschrieben, der genau das machen soll:

Code: Alles auswählen

OBJ
        ios: "reg-ios"
                                                                                                                                                                                                     
CON                                                                                                                                                                                                  
                                                                                                                                                                                                     
_CLKMODE     = XTAL1 + PLL16X                                                                                                                                                                        
_XINFREQ     = 5_000_000                                                                                                                                                                             
                                                                                                                                                                                                     
 LANMASK     = %00000000_00000000_00000000_00100000                                                                                                                                                  
                                                                                                                                                                                                     
PUB main | i                                                                                                                                                                                         
                                                                                                                                                                                                     
  ios.start                                             'ios initialisieren                                                                                                                          
  ios.print(@strLoadAdm)                                                                                                                                                                             
  ios.admload(string("admnet.adm"))                                                                                                                                                                  
  ios.print(@strLoadBel)                                                                                                                                                                             
  ios.belreset                                                                                                                                                                                       
  ios.print(@strLoadBin)                                                                                                                                                                             
  ios.sdmount                                                                                                                                                                                        
  ios.sddmact(ios#DM_SYSTEM)                                                                                                                                                                         
  ios.ldbin(string("irc.bin"))                                                                                                                                                                       

DAT                                                     'sys: helptext

#ifdef __LANG_EN
  'locale: english

  strLoadAdm byte "Loading Administra...",13,0
  strLoadBel byte "Loading Bellatrix...",13,0
  strLoadBin byte "Starte Programm...",13,0

#else
  'default locale: german

  strLoadAdm byte "Administra laden...",13,0
  strLoadBel byte "Bellatrix laden...",13,0
  strLoadBin byte "Starte Programm...",13,0

#endif
Das funktioniert unter TriOS wie gewünscht, leider aber nicht dort, wo es gebraucht wird (Plexus). Hier startet noch Administra neu, auch Bellatrix mit dem Code aus dem EPROM. Die Loader macht auch hier noch weiter ("Starte Programm..."), danach ist aber Schluß. Hat jemand eine Idee?
Viele Grüße

Jörg
Benutzeravatar
zille9
Beiträge: 399
Registriert: Do 4. Okt 2012, 21:56
Wohnort: Berlin

Re: TriOS mit Netzwerk

Beitrag von zille9 »

Code: Alles auswählen

  
ios.start                                             'ios initialisieren
  ios.belreset
  ifnot (ios.admgetspec & LANMASK)
      ios.sdmount
      ios.admload(string("admnet.adm"))
      'ios.print(@strNoNetwork)                  'ursprünglicher Code
      'ios.stop                                            'ursprünglicher Code
  ios.print(@strInitWait)
  setscreen
  conf_load
  if ip_addr == 0
    ifnot f_setconf
      handleStatusStr(@strRestartConf, 2, FALSE)
Hallo Jörg
Hab wie oben angegeben, den Code modifiziert und bei mir startet der Client unter Plexus, allerdings kann ich nicht Testen, da mein Hive Netzwerkdosen-abstinent ist, aber zumindest zeigt er den Client Bildschirm (Pfadmarker hab ich jetzt nicht berücksichtigt, sollten aber mit eingebaut werden, hab zum Test den IRC-Clienten aus dem Root-Verzeichnis aufgerufen).
Hilft Dir das weiter?
Computer lösen die Probleme, die man ohne sie gar nicht hätte!
joergd
Beiträge: 124
Registriert: Fr 20. Dez 2013, 20:08
Wohnort: Ronneburg

Re: TriOS mit Netzwerk

Beitrag von joergd »

Bei mir gehts nicht. Ich hab Deinen Vorschlag entsprechend eingebaut (etwas erweitert), unter TriOS funktioniert es. Mit Plexus wird auch wie gewünscht Bellatrix neu gestartet, auch Administra scheint noch admnet zu laden, dann ist Schluß...
Ich häng mal eine Testversion vom IRC-Client an den ersten Beitrag an, vielleicht können auch ein paar andere mit testen. Damit es überhaupt funktionieren kann, sollten die Propeller mit TriOS geflasht sein (Regnatix mit der korrigierten Version aus dem Plexus-Thread), admnet und der IRC-Client sollten sich im /system Verzeichnis befinden (oder ist letzteres für Plexus falsch?).
Zuletzt geändert von joergd am Do 13. Feb 2014, 08:03, insgesamt 1-mal geändert.
Viele Grüße

Jörg
Benutzeravatar
zille9
Beiträge: 399
Registriert: Do 4. Okt 2012, 21:56
Wohnort: Berlin

Re: TriOS mit Netzwerk

Beitrag von zille9 »

...admnet und der IRC-Client sollten sich im /system Verzeichnis befinden (oder ist letzteres für Plexus falsch?).
Nein, alles gut. Aus Plexus startest Du ja nur die IRC.bin, wo die ihre Dateien herbekommt, muss in der IRC.bin stehen, das ist für Plexus uninteressant.
Computer lösen die Probleme, die man ohne sie gar nicht hätte!
Benutzeravatar
TuxFan
Beiträge: 1022
Registriert: So 6. Sep 2009, 11:18

Re: TriOS mit Netzwerk

Beitrag von TuxFan »

Moin moin!
Hab mal in den letzten beiden Werbepausen, wofür die nicht alles gut sind :D , die Dateien auf die Plexus-SD kopiert und aus Plexus heraus gestartet, erscheint das Hive-Logo und danach der Schriftzug : Initialisiere, bitte warten... dann herrscht ruhe im See.
Gruß
TuxFan
Wunder gibt es immer wieder.......
Antworten