Autor Thema: OS dev Tree  (Gelesen 29236 mal)

Toaster

  • Beiträge: 38
    • Profil anzeigen
Gespeichert
« am: 22. November 2007, 21:25 »
Wie schon angekündigt programmiere ich ein neues Programm, OS dev Tree.

Bei dem Programm handelt es sich um ein Programm für Programmierer, in diesem Falle für System Programmierer. Es soll eine Programmierhilfe darstellen, wie ein SDK oder eine Referenz.
Konkret soll es Informationen über die Programmierung von Controllern und peripheren Geräten bieten, etwa auch die Resourcen (DMA, IRQ, Ports, Memory) von Controllern auflisten und eine interaktive Hilfe bieten.

http://www.viennacomputerproducts.com/uploads/images/OS%20dev%20Tree%2012.png
http://www.viennacomputerproducts.com/uploads/images/OS%20dev%20Tree%2013.png
http://www.viennacomputerproducts.com/uploads/images/OS%20dev%20Tree%2014.png
http://www.viennacomputerproducts.com/uploads/images/OS%20dev%20Tree%2015.png
http://www.viennacomputerproducts.com/uploads/images/OS%20dev%20Tree%2016.png

download der Testversion:
http://www.viennacomputerproducts.com/downloads/OS%20dev%20Tree/OS%20dev%20Tree.exe

http://www.viennacomputerproducts.com/index.php?page=information-system

Was ich nun brauche ist Feedback dazu, auch Verbesserungsvorschläge.

Toaster
« Letzte Änderung: 27. November 2007, 19:57 von Toaster »

bluecode

  • Beiträge: 1 391
    • Profil anzeigen
    • lightOS
Gespeichert
« Antwort #1 am: 22. November 2007, 21:57 »
Was ich nun brauche ist Feedback dazu, auch Verbesserungsvorschläge.
Oh, auf einmal willst du doch wieder Kritik? Das hat sich im anderen Thread noch ganz anders angehört :roll:

<vorsicht feedback>Mal abgesehen davon, kann ich mir nicht vorstellen, dass irgendjemand Interesse an solch einem Programm haben könnte.</vorsicht feedback>
lightOS
"Überlegen sie mal 'nen Augenblick, dann lösen sich die ganzen Widersprüche auf. Die Wut wird noch größer, aber die intellektuelle Verwirrung lässt nach.", Georg Schramm

maxinator

  • Beiträge: 21
    • Profil anzeigen
    • Maxinators HP - übers Leben und Programmieren :)
Gespeichert
« Antwort #2 am: 23. November 2007, 22:21 »
so isses halt xDxD....

naja.. also, wenn es bei den spartanischen informationen/ressourcen bleibt, die auf den screenshots zu sehen sind, ist das eig. eher unnütz, aber wenn du sozusagen alle, informationen, die auch z.b. in ralf browns (veralteteten) port-list stehen, dort reinportierst und natürlich aktualisierst, wäre das gold wert.... jedenfalls für uns systemprogrammierer, aber für das breite Publikum wird das nicht ansprechend sein...

Jidder

  • Administrator
  • Beiträge: 1 625
    • Profil anzeigen
Gespeichert
« Antwort #3 am: 23. November 2007, 23:25 »
Wo issn da ein Baum?
Dieser Text wird unter jedem Beitrag angezeigt.

Toaster

  • Beiträge: 38
    • Profil anzeigen
Gespeichert
« Antwort #4 am: 24. November 2007, 10:29 »
aber wenn du sozusagen alle, informationen, die auch z.b. in ralf browns (veralteteten) port-list stehen, dort reinportierst und natürlich aktualisierst, wäre das gold wert.... jedenfalls für uns systemprogrammierer, aber für das breite Publikum wird das nicht ansprechend sein...

ja der Informationsgehalt soll natürlich noch weit steigen, etwa auch eine Hilfe über die Programmierung der einzelnen Ports wenn man doppel klickt etc.

die ursprüngliche Idee war das ganze als Baum aufzubereiten, was sich aber als relativ sinnlos herausgestellt hat weshalb ich andere Ansichten programmiert habe

Ich werde es jetzt mal weiter programmieren und eine Test Version heraus bringen, danach am Informationsgehalt (das meiste sind jetzt Platzhalter-Texte) arbeiten

Toaster

Toaster

  • Beiträge: 38
    • Profil anzeigen
Gespeichert
« Antwort #5 am: 24. November 2007, 12:35 »
ok die Zielsetzung hat sich jetzt etwas geändert; das Ziel ist jetzt die Ralph Brown Liste zu ersetzen und eine vollständiges OS SDK bieten (mit der Programmierung aller Controller etc.)
Im Moment programmiere ich noch an der Anzeige, das ganze ist bzw. wird akkurater, einfacher und Informationsreicher als auf den gezeigten Screenshots

am Abend poste ich dann die aktuelle Version samt download, eventuell wird es in Zukunft für personal use frei sein

Toaster

PS: danke für Feedback, aber ich brauche dann noch mehr!

kevin

  • Administrator
  • Beiträge: 2 767
    • Profil anzeigen
Gespeichert
« Antwort #6 am: 24. November 2007, 12:56 »
Richtigen Feedback kann ich erst geben, wenn ich es benutzt habe, Screenshots reichen dafür nicht. Und meine allgemeine Meinung dazu kennst du ja sowieso schon.
Thou shalt not follow the NULL pointer, for chaos and madness await thee at its end.

stultus

  • Beiträge: 486
    • Profil anzeigen
Gespeichert
« Antwort #7 am: 24. November 2007, 13:10 »
Screenshots reichen zur bewertung nicht, stimmt. Ansonsten, gibt doch genügend zentrale Infos. Und mach dich bitte über die Bedeutung von "SDK" schlau. Mir fällt keine Variante ein wie man von SDK auf Dokumentation kommt. :/
MSN: planetconquestdm@hotmail.de
ICQ: 190-084-185

... Wayne?

kevin

  • Administrator
  • Beiträge: 2 767
    • Profil anzeigen
Gespeichert
« Antwort #8 am: 24. November 2007, 14:32 »
System Documentation Kit? ;)
Thou shalt not follow the NULL pointer, for chaos and madness await thee at its end.

bitmaster

  • Troll
  • Beiträge: 1 138
    • Profil anzeigen
    • OS-64 = 64 Bit Operating System
Gespeichert
« Antwort #9 am: 24. November 2007, 14:51 »
Software Development Kit
In the Future everyone will need OS-64!!!

kevin

  • Administrator
  • Beiträge: 2 767
    • Profil anzeigen
Gespeichert
« Antwort #10 am: 24. November 2007, 15:15 »
Ich weiß zwar nicht, ob du es verstehen wirst... ;)

Thou shalt not follow the NULL pointer, for chaos and madness await thee at its end.

Jidder

  • Administrator
  • Beiträge: 1 625
    • Profil anzeigen
Gespeichert
« Antwort #11 am: 24. November 2007, 15:18 »
Gleich kommt, dass er noch keinen Führerschein hat.
Dieser Text wird unter jedem Beitrag angezeigt.

Toaster

  • Beiträge: 38
    • Profil anzeigen
Gespeichert
« Antwort #12 am: 24. November 2007, 15:32 »
Screenshots reichen zur bewertung nicht, stimmt. Ansonsten, gibt doch genügend zentrale Infos. Und mach dich bitte über die Bedeutung von "SDK" schlau. Mir fällt keine Variante ein wie man von SDK auf Dokumentation kommt. :/

ich weiß nicht ob du es verstanden hast (eigentlich schon sonst würde ich hier ja nicht antworten  :wink:) aber da gehts um Kritik über das Programm, nicht ob es "genügend zentrale Infos" gibt.
Das generelle Infragestellen des Programms hat hier keinen Sinn
vielleicht denkst du ja bei deinen nächsten Post einmal etwas mehr mit

Toaster

kevin

  • Administrator
  • Beiträge: 2 767
    • Profil anzeigen
Gespeichert
« Antwort #13 am: 24. November 2007, 16:36 »
Was soll man aber mehr machen als das Programm generell in Frage zu stellen, wenn man nur die Grundidee kennt?
Thou shalt not follow the NULL pointer, for chaos and madness await thee at its end.

Toaster

  • Beiträge: 38
    • Profil anzeigen
Gespeichert
« Antwort #14 am: 24. November 2007, 20:46 »
Testversion ist oben, sie zeigt das Design, wie alles aussehen wird etc.
Wie oben schon steht habe ich jetzt eine vernünftige Basis, und erst jetzt wird der Content kommen.

Aufwendig war das ganze insofern, als dass die Informationen als Resourcen eingebunden wurden

101 RCDATA "Information\PS2 Controller\Title.txt"
102 RCDATA "Information\PS2 Controller\Signature.txt"
103 RCDATA "Information\PS2 Controller\Sub Resources.txt"
104 RCDATA "Information\PS2 Controller\See also List.txt"
105 RCDATA "Information\PS2 Controller\See also Links.txt"

106 RCDATA "Information\PS2 Controller\Briefing.txt"
107 RCDATA "Information\PS2 Controller\Detail.txt"

108 RCDATA "Information\PS2 Controller\PS2 Controller\Ports.txt"
109 RCDATA "Information\PS2 Controller\PS2 Controller\IRQ.txt"
110 RCDATA "Information\PS2 Controller\PS2 Controller\DMA.txt"
111 RCDATA "Information\PS2 Controller\PS2 Controller\Memory.txt"

112 RCDATA "Information\PS2 Controller\Keyboard Controller\Ports.txt"
113 RCDATA "Information\PS2 Controller\Keyboard Controller\IRQ.txt"
114 RCDATA "Information\PS2 Controller\Keyboard Controller\DMA.txt"
115 RCDATA "Information\PS2 Controller\Keyboard Controller\Memory.txt"

116 RCDATA "Information\PS2 Controller\Mouse Controller\Ports.txt"
117 RCDATA "Information\PS2 Controller\Mouse Controller\IRQ.txt"
118 RCDATA "Information\PS2 Controller\Mouse Controller\DMA.txt"
119 RCDATA "Information\PS2 Controller\Mouse Controller\Memory.txt"

120 RCDATA "Information\PS2 Controller\Development.txt"

so kann aber auch jeder mitarbeiten und die Wartung und Verwaltung ist extrem gut [vor allem in junction mit UEStudio]

Das To-Do umfasst bei der Programmierung Features wie die Verlinkung, auch Interlinks im Programm bei den See Also Informationen, und eine eigene Beschreibung wenn man auf Ports, IRQs, DMA oder Memory doppelklickt

Toaster

kevin

  • Administrator
  • Beiträge: 2 767
    • Profil anzeigen
Gespeichert
« Antwort #15 am: 25. November 2007, 11:14 »
Wie hast du es denn geschafft, das auf anderthalb MB aufzublähen?

Die meisten Informationen sind ja noch unvollständig. Ist das, was man beim PS/2-Controller sehen kann, ungefähr das, was du dir am Ende für alles vorstellst? Wenn ja: Das würde mir keinen Schritt weit helfen, das Ding zu programmieren.

Ach, und auf 800x600 scheint es nicht so wirklich vorbereitet zu sein. ;)
Thou shalt not follow the NULL pointer, for chaos and madness await thee at its end.

Toaster

  • Beiträge: 38
    • Profil anzeigen
Gespeichert
« Antwort #16 am: 25. November 2007, 11:41 »
ja ich wahr selbst überrascht dass es 1.5 MB groß ist, liegt vermutlich am Mainboard View und an den 8 Units + Forms/Frames
Die Resourcen Datei selbst die alle Texte beinhaltet ist nur 16 KB groß...

und nein das ist es nicht was ich mir vorstelle, ich stelle mir die komplette Programmierung inklusiver aller Scancodes und Port Beschreibungen und Commando Beschreibungen vor
aber wie gesagt arbeite ich derzeit noch an der Darstellung, bevor ich übergehe Informationen einzutippen

heute um 1 Uhr früh habe ich das Link System programmiert, dass das "See Also" funktioniert (Inter Links, Website Links und Link zu Resourcen Beschreibung)
jetzt programmiere ich die Detail Ansicht für Resourcen (Ports, DMA, IRQ, Memory)

und ja ich habe das angepasst auf 1016x663, also bisschen weniger als 1024x768
800x600 ist Steinzeit und das supporte ich nicht, da kann man nicht sinnvoll entwickeln da drauf und da könnte ich auch zu wenige Informationen darstellen

Ich selbst habe hier Breitbild 1280x800 Auflösung, was vermutlich die Verwendung von höheren Auflösungen in meinen Programmen erklärt.

Ich programmiere mal weiter und halte euch auf dem laufenden,

Toaster

[edit/Einfall]Auch wenn ein Zauberer nie seine Tricks verrät, aber mir ist eben eingefallen dass ich das Mainboard Bild nur als bmp, nicht aber als png Datei einbinden konnte, und das Bild selbst 1 MB groß ist[/Einfall]
« Letzte Änderung: 25. November 2007, 11:49 von Toaster »

Toaster

  • Beiträge: 38
    • Profil anzeigen
Gespeichert
« Antwort #17 am: 25. November 2007, 14:15 »
Ich habe jetzt das Link System fertig implementiert.

http://www.viennacomputerproducts.com/uploads/images/OS%20dev%20Tree%2011.png

Das ganze lauft intern interessant ab, etwa die hintergründige See Also Liste bei PS/2 Controller:

#3
!http://www.google.com/
*0000.001

und die Angezeigte:

Programmable Peripheral Interface
Google
InterHelp to Port 64h.Test

der InterHelp Link ist etwa im n012.000 Format, wo n die display Informationen (ob Port, DMA, IRQ oder Memory location) darstellt, 012 die Group Number (etwa die Ports von PS/2 Controller groupiert) und 000 die Subnumber, zum auswählen von Port 60h oder Port 64h i.e.

Im Moment muss ich noch eine "engine" programmieren die Angaben wie "Port 64h" bei der Resource Liste in das oben genannte Format umsetzt, da es dort keine hintergründige Liste gibt

am Abend uploade ich eine aktuelle Version, inder dann die Basis des Anzeigesystems komplett implementiert ist

Toaster

Toaster

  • Beiträge: 38
    • Profil anzeigen
Gespeichert
« Antwort #18 am: 25. November 2007, 15:32 »
Mit nem kleinen Umweg über eine extra Funktion filtert mein Programm jetzt auch aus der Resourcesn-Textangabe Links der Form '+*n012.00' heraus und speichert sie in einer LinkListe:

Zitat
// extracts the Links from Resource in form from  Resource, '+n012.00'

procedure TForm6.ExtractLinks();
var i,j: integer;
begin

  for i := 0 to 4 do
   begin

    for j := 0 to Res_Ports.Count - 1 do
     if Pos('+', Res_Ports[j]) <> 0 then
      begin
        Res_LinkMirror[i, 0].Add(Copy(Res_Ports[j], Pos('+', Res_Ports[j]) + 1, Length(Res_Ports[j]) - Pos('+', Res_Ports[j]) + 1));
        Res_Ports[j] := Copy(Res_Ports[j], 0, Pos('+', Res_Ports[j]) - 1);
      end
     else
      Res_LinkMirror[i, 0].Add('');

    for j := 0 to Res_IRQ.Count - 1 do
     if Pos('+', Res_IRQ[j]) <> 0 then
      begin
        Res_LinkMirror[i, 1].Add(Copy(Res_IRQ[j], Pos('+', Res_IRQ[j]) + 1, Length(Res_IRQ[j]) - Pos('+', Res_IRQ[j]) + 1));
        Res_IRQ[j] := Copy(Res_IRQ[j], 0, Pos('+', Res_IRQ[j]) - 1);
      end
     else
      Res_LinkMirror[i, 1].Add('');

    for j := 0 to Res_DMA.Count - 1 do
     if Pos('+', Res_DMA[j]) <> 0 then
      begin
        Res_LinkMirror[i, 2].Add(Copy(Res_DMA[j], Pos('+', Res_DMA[j]) + 1, Length(Res_DMA[j]) - Pos('+', Res_DMA[j]) + 1));
        Res_DMA[j] := Copy(Res_DMA[j], 0, Pos('+', Res_DMA[j]) - 1);
      end
     else
      Res_LinkMirror[i, 2].Add('');

    for j := 0 to Res_Memory.Count - 1 do
     if Pos('+', Res_Memory[j]) <> 0 then
      begin
        Res_LinkMirror[i, 3].Add(Copy(Res_Memory[j], Pos('+', Res_Memory[j]) + 1, Length(Res_Memory[j]) - Pos('+', Res_Memory[j]) + 1));
        Res_Memory[j] := Copy(Res_Memory[j], 0, Pos('+', Res_Memory[j]) - 1);
      end
     else
      Res_LinkMirror[i, 3].Add('');

   end;

end;

Man kann jetzt per doppelklick auf einer Resource weitere Informationen bekommen.

Toaster

Toaster

  • Beiträge: 38
    • Profil anzeigen
Gespeichert
« Antwort #19 am: 25. November 2007, 16:07 »
Ich habe eben die exe am Server geupdated, man kann jetzt das Link System benutzen (wie immer bei vozeige PS/2 Controller). Auch auf die dortigen gelisteten Port kann man doppelklicken und kommt zur ausführlichen "Hilfe".

Ich werde jetzt anfangen sinnvolle Informationen einzutragen, und am Abend die Version uploaden. Bitte dann Reviews geben.

Toaster

 

Einloggen