Lowlevel

Lowlevel => Das Wiki => Thema gestartet von: joachim_neu am 31. March 2005, 14:26

Titel: Community-OS
Beitrag von: joachim_neu am 31. March 2005, 14:26
So,

lasst hier mal eure Vorschläge und Anregungen übers Comm-OS raus. ;)

J!N
Titel: Community-OS
Beitrag von: stultus am 31. March 2005, 15:49
ich find erstmal sollte man nen paar personen festlegen die sich um die koordinierung des projektes kümmern (ich steh zur wahl ;), mal sehn wers sonst noch machen würde, allein kann ich sowas nich, wär das erste mal das ich sowas machen würde, aber ich werds schon hinbekommen wenn man mich wählt), diese personen können dann alles weitere festlegen (also kernelart, bootloader, usw.)
Titel: Community-OS
Beitrag von: Jidder am 31. March 2005, 17:32
Jupp seh ich auch so. Wobei die Community nicht vollständig ausgeschlossen werden sollte. Heisst ja "Community OS" ...

Wichtig finde ich auch, dass alle Meilensteine zum Download zur Verfügung stehen. Also z.B. (ich fantasier einfach mal): Version 0.01 - Protected Mode; Version 0.02 - Paging; Version 0.03 - Memory Management, usw ... Und dann immer schön dokumentieren was geändert wurde. So wäre es für Neu- und Quereinsteiger am einfachsten die Entwicklung mitzuverfolgen und aus der Entwicklung zu lernen. Sonst passiert das gleiche wie mit dem Linuxkernel: Nur wenige Personen haben überhaupt einen relativ vollständigen Plan davon, was wo im Kernel ist.
Titel: Community-OS
Beitrag von: stultus am 31. March 2005, 17:43
Ich denk das Meilensteine zum Download stehn is selbstverständlich, und wegen Dokumentation, da könnt man ja nen eigenes Team für einsetzen ;) Dann würde das Programmieren auch schneller vorrangehen (wenn ich nich gleich jeden Parameter vom neuen Dateiformat für Ausführbare dateien ordentlich dokumentieren muss kann ich mich schneller der nächsten sache zuwenden, logisch oder? *gg*)
Titel: Community-OS
Beitrag von: Roshl am 31. March 2005, 18:26
Aber wenn es der Programmierer nicht kommentiert woher soll der Kommentator wissen was das sein soll? Kann also nicht wissen was er da kommentieren soll
Titel: Community-OS
Beitrag von: stultus am 31. March 2005, 18:59
Kommentiert wird sowieso, keine Frage, nur das erstellen der endgültigen Information machen die anderen (also Sätze ausformulieren und evtl. Beispiele geben)
Titel: Community-OS
Beitrag von: joachim_neu am 01. April 2005, 10:16
vll. sollten wir uns erstmal wie bei großen firmen eine regelung schreiben, wie was zu kommentieren ist ;)
Titel: Community-OS
Beitrag von: zacK am 01. April 2005, 10:26
also ich finde am wichtisten ist es einen strukturierten code zu schreiben und die funktionen zu beschreiben.... dann villeicht noch wenn man etwas von einer adresse holt oder an eine adresse schreibt (ports oder ram) dann sollte man schreiben warum man das tut.... das andere kann man dann ja aus dem code lesen... (wenn er übersichtlich (gut strukturiert) ist...)
Titel: Community-OS
Beitrag von: stultus am 01. April 2005, 10:28
naja, siehe mein erstes posting in diesem thema, erstmal nen team schaffen welches sich dann um sowas wie kommentierungsregeln (oder wie auchimmer man das nennt) kümmert ;)
Titel: Community-OS
Beitrag von: joachim_neu am 01. April 2005, 10:28
jo.
und was wir auch noch klären sollten ist die sprache (C/ASM) und der compiler/linker/assembler (GCC, NASM, FASM, MASM, TASM, Dev-C)...
Titel: Community-OS
Beitrag von: stultus am 01. April 2005, 10:33
sowas sollte meiner meinung nach auch vom team festgelegt werden, davon abgesehen das die wahl wohl sowieso auf die standardtools (GCC, LD) fällt ;) (für die die sowas nich zur verfügung haben da z.b. kein Linux könnte ich ja mal ssh aktivieren, dann könnt ihr das auf meinem rechner kompilieren...)

@Roshl: wann werd ich eigentlich wegen spammens gebannt, jeder 2te Post hier is doch von mir :D

[EDIT:] Was haltet ihr davon wenn alle die nu mitmachen wollen einfach morgen abend 20:00 in irc.euirc.net #comm-os kommen? da sollte jeder zeit haben und man kann alles ordentlich klären. wer keine zeit hat und nen anderes gutes datum vorzuschlagen hat möge dies bitte tun!
[EDIT 2:] Wer keinen ircclient hat möge sich bitte http://www.euirc.net/de/chat.php anschauen!
Titel: Community-OS
Beitrag von: Roshl am 01. April 2005, 11:34
Gebannt wirst du erst sobald du überhaupt mehr Posts hast als ich^^ und davon bist du noch 503 posts entfernt^^ *g*
Aber joachim sollte aufpassen der liegt nur noch 4 hinter mir^^
und dann kommt erstmal ne weile nix und dann TJ^^

PS: Ach ja wir ham 1.April gell^^
Titel: Community-OS
Beitrag von: Another Stupid Coder am 01. April 2005, 15:00
Wunderbar, da kann ich zu allem, was ich heute sage, was später abgelehnt wird, einfach sagen, dass es ein Aprilscherz war :D
Titel: Community-OS
Beitrag von: Roshl am 01. April 2005, 15:14
hm ich könnte natürlich die Post-Anzahl auch direkt in der DB ändern...
Wozu bin ich denn Admin...
Titel: Community-OS
Beitrag von: Kevin_ am 01. April 2005, 15:23
Ich könnte auch Webspace, Shell udn CVS auf meinem Server zuverfügung stellen (da ich sowieso alles schon installiert hab^^).
Warum eigendlich ein Treffen im EuIRC? Ich finde das ist viel zu groß. Freenode is außerdem eher was für Entwickler (Gibts nen großen OS-Dev Channel...)
Titel: Community-OS
Beitrag von: Roshl am 01. April 2005, 15:30
Auf welchem Server wir uns treffen ist doch egal oder? Warum dann nicht  auch EUirc? Neuen Chan auf und gut ist.
Titel: Community-OS
Beitrag von: The-Programmerfish am 01. April 2005, 19:49
Wenn ich mich nicht irre wäre das dann schon der dritte Lowlevel Channel  :D
Titel: Community-OS
Beitrag von: stultus am 01. April 2005, 19:51
wir könnten auch gerne den von kevin verwenden, nur der bereitet öfters probleme...
Titel: Community-OS
Beitrag von: Kevin_ am 01. April 2005, 21:59
bei mir geht der immer :/ es könnte aber daran liegen das ein server weg ist aber die url world-irc.de noch manchmal auf ihn zeigt
Titel: Community-OS
Beitrag von: codekrank am 01. April 2005, 22:03
Ich bin sowohl im euirc als auch im freenode und würde natürlich auch mal vorbeischauen.
Den "well documented" Punkt finde ich auch sehr wichtig.

Vielleicht sollte man etappenweise arbeiten und jedes Mal wenn eine entscheidung ansteht eine Umfrage hier im Forum machen, in der es die verschiedenen Möglichkeiten zur Auswahl gibt.
(Sprache? asm/c/*
 Kerneldesign: Microkernel/*)
usw, und vorher wird festgelegt wie lange die Umfragen jeweils laufen.
So hat dann die community immer individuell die Möglichkeit zu bestimmen wie es mit dem OS weiter geht.
Titel: Programme fürs ComOS
Beitrag von: T-Head am 07. April 2005, 16:20
Hi,

wie wirds dann mit dem Coden von Programmen mit dem ComOS aussehen?
Werden die dann in ASM geschrieben?
Wirds so was wie na Basic Programmiersprache für ComOS geben?
Titel: Community-OS
Beitrag von: Roshl am 07. April 2005, 16:32
Programme können in allen möglichen Sprachen sein, nur die Header müssten erstellt werden. Und eigentlich brauchen wir erstmal nen Kernel bevor an Programme zu denken ist...ich arbeite dran
Titel: Community-OS
Beitrag von: T-Head am 07. April 2005, 16:47
Hi,

ich wollts nur schon mal wissen!  :wink:
Titel: Re: Programme fürs ComOS
Beitrag von: elfish_rider am 07. April 2005, 16:50
Zitat von: T-Head

Wirds so was wie na Basic Programmiersprache für ComOS geben?


Kann man sicher dann machen, fast auf jedem OS lässt sich ein BASIC-Interpreter coden, aber ist wirklich sehr früh, um an das zu denken.
Titel: Community-OS
Beitrag von: DarkThing am 08. April 2005, 13:05
Ich hab das so verstanden, dass Roshl den Bootloader macht. Den Kernel machen alle zusammen. Wär ja irgendwie witzlos wenn das nur einer macht...
Titel: Community-OS
Beitrag von: joachim_neu am 08. April 2005, 14:24
nein, Roshl codet den loader und den anfang des kernels. und dann steigen wir alle ein und jeder codet seine aufgabe.
Titel: Community-OS
Beitrag von: DarkThing am 08. April 2005, 15:21
Ist es auch möglich kleinere Teile zu coden, ohne ein art festes Mitglied zu sein. Es wäre doch ganz sinnvoll wenn mal ein Treiber etc (den keiner coden will) gebraucht wird und es dann hier gepostet wird. Es heißt ja schließlich Comm-OS
Titel: Community-OS
Beitrag von: Roshl am 09. April 2005, 10:19
Also habe grade den Bootloader+Kernel hochgeladen. Habe eine ausführliche Beschreibung dazugesetzt, die sollte sich erstmal jeder durchlesen. Falls dann noch Fragen sind kann man die hier ja stellen. Unter Bochs funktioniert alles einwandfrei, echter PC keine Ahnung.
DOWNLOAD (http://lowlevel.brainsware.org/files/ComOS.zip)
Titel: Community-OS
Beitrag von: T-Head am 09. April 2005, 12:03
Hi,

also bei mir läuft es nur mit Bochs! Wenn ichs mit dem echten PC versuche, dann erscheint nur ein schwazer Bildschierm! Liegt vieleicht an printf!
Titel: Community-OS
Beitrag von: Another Stupid Coder am 09. April 2005, 20:01
So, damit was weitergeht: Ich habe mir erlaubt das ReadMe-File ins HTML-Format zu verwandeln und daher auch leicht umzuschreiben (zur besseren Formatierung und ein paar Tippfehler waren auch drinnen.) Kann schon ein Anfang für die Doku sein, der Style ist an Lowlevel angelehnt kann aber leicht per style.css verändert werden: http://www.8ung.at/paulhaerle/ComOS/Docs/ReadMe.html
Titel: Community-OS
Beitrag von: The-Programmerfish am 09. April 2005, 21:42
Schon mal drüber nachgedacht sowas wie eine Dokumentation in Form eines Wikis zu machen? Wenn jemand was dazu codet schreibt er im Wiki was es ist wozu es da ist wie es funktioniert und warum man das brauchen könnte. Ich fänds nützlich, aber meine Ideen interessieren ja eh keinen  :roll:
Titel: Community-OS
Beitrag von: Roshl am 10. April 2005, 12:14
@T-Head
Wenn du die Dateien alle so genommen hast wie ich sie hingepackt habe, dann ist es richtig, dass alles schwarz ist. Denn er schaltet ja dann in einen Vesa-Modus um und da wird der Bildschirm gelöscht^^
Titel: Community-OS
Beitrag von: T-Head am 10. April 2005, 12:49
Hi,

dann is ja alles gut! Dann geht das mit dem Booten halt so schnell, dass ich nix mehr davon mitbekomm!  :lol:
Titel: Community-OS
Beitrag von: Roshl am 10. April 2005, 12:59
Ums zu testen kannst du in der boot.ini einfach mal die ganze Zeile mit vesa; rausnehmen, dann solltest du was sehen. Wenn nicht dann stimmt wirklich was nicht^^
Aber siehste mal wie hübsch schnell mein Bootloader ist;)
Titel: Community-OS
Beitrag von: T-Head am 10. April 2005, 13:24
Hi,

werd ich machen!

PS.: Der Bootloader ist toll! *schleim*
Titel: Community-OS
Beitrag von: T-Head am 10. April 2005, 14:36
Hi,

ich hab jetz in der boot.ini des mit dem Vesa weg gemacht, s geht aber imemr noch nicht!

boot.ini:
info;0x30000;
check;386;stop;
check;486;go;
file;kernel.bin;0x10000;
gdt;0x20000;
pmode;0x08;0x10000;
end;
Titel: Community-OS
Beitrag von: Another Stupid Coder am 10. April 2005, 14:58
Was genau geht nicht?
Titel: Community-OS
Beitrag von: T-Head am 10. April 2005, 14:59
Hi,

Ja dass das dess, was beim Booten eigentlich angezeigt wird, wies bei Bochs auch ist, nicht angezeigt wird!  :wink:
Titel: Community-OS
Beitrag von: Roshl am 10. April 2005, 15:06
naja das erste was mein loader macht ist ein cls; also löscht den schirm bevor er er andere ausgaben macht. Aber die anzeigen das was geladen wird müssten schon kommen...
Da er ja open source ist können ja alle reinschauen lam sehn wer was findet.
Hab selbst noch nen Fehler entdeckt, aber die Ursache bisher nicht.
Wenn ich, nach dem Wechsel in dem PM, den Stack soo zusammenbastle:
ss=0x10 esp=ebp=0xfffff
dann wird bei einem push irgendwie nix gepushed. zwar ändert sich esp aber der wert an der stelle wo gepushed wird ändert sich nicht. hat jemand ne idee?
Titel: Community-OS
Beitrag von: jeb am 10. April 2005, 16:48
also bei mir funktioniert alles einwandfrei. nach ein etwa 1-2 sekunden verschwindet einfach der boothinweis (sollte er ja auch).

mfg,jeb
Titel: Community-OS
Beitrag von: DarkThing am 10. April 2005, 18:04
Ich hab den Bootloader noch nicht getestet aber wenn der Text nach 2 Sekunden verschwinden soll, kann es doch sein dass der Text so schnell gelöscht wird das man ihn gar nicht sieht.

PS:
Was kann ich denn noch tun am OS?
Titel: Community-OS
Beitrag von: T-Head am 10. April 2005, 18:07
Hi,

kann es daran liegen, dass ich n TFT habe??? Der braucht nämlich für manche Video-Modi als etwas länger, bis er in die geschalten hat!
S kann also sein, dass ers net schaft, so schnell in den Boot-Sreen zu schalten und dann sofort in VESA wechselt, wo dann alles wieder schwarz is!
Titel: Community-OS
Beitrag von: DarkThing am 10. April 2005, 18:14
So, habs bei mir getestet. Is ja n Hammer-Bootloader! Ich hab auch ein TFT und ich seh Text, aber nur gaaanz kurz also man kanns praktisch nicht lesen. Ich hab einfach die Stanard boot.ini verwendet.
Titel: Community-OS
Beitrag von: T-Head am 10. April 2005, 18:22
Hi,

Dann is mein TFT einfach nur n bissel langsamer!  :cry:
Titel: Community-OS
Beitrag von: DarkThing am 10. April 2005, 18:25
Schwer zu sagen, ich hab auch net so das Hi-End TFT. Vielleicht solltest du versuchen den Bootloader auf nem anderen PC testen (aber mit gleichem Bildschirm!) und wennd as net geht mit nem anderen Bildschirm. Dann wüsste man obs am PC oder am Bildschirm liegt.
Titel: Community-OS
Beitrag von: T-Head am 10. April 2005, 18:28
Hi,

ich werds mal an nem anderen PC Probieren, wenns dort geht, dann nehm ich den Bildschirm bzw. meinen PC und bau ihn an den anderen Bilschirm! Ich werd alles Versuchen, was nur möglich ist!!  :wink:
Titel: Community-OS
Beitrag von: Roshl am 10. April 2005, 18:54
Freut mich riesig dass er euch gefällt. Falls ihr euch noch Features wünscht sagt mir bitte Bescheid. Falls ihr z.b. das check;-feature erweitert haben wollt oder so. (check;386;stop; prüft z.b. ob die CPU mindestens ein 386 ist wenn nicht hält er an, soll er weitermachen einfach go statt stop nehmen)
Bisher kann man auf 386 und 486 testen. So kann man schon vor dem Kernel Checken ob die Mindest CPU überhaupt drin ist. Ich dachte bis zum 486 reicht erstmal, da die wenigsten von euch schon MMX SSE oder ähnliches verwenden. Wenn gewünscht kann ich aber erweitern.
Für die die was am OS tun wollen: Wir müssen erstmal irgendwie Aufgaben verteilen, dazu bietet sich ein weiteres Chattreffen an denke ich.

So jetzt noch eine Bitte an alle die meinen Bootloader verwenden:
Setzt mal in eurem Kernel mal esp auf 0xFFFFF und schaut ob der Stack korrekt arbeitet. ZB eine funktion callen und dort sofort ret. Wenn er richtig zurückspringt sagt mir das bitte wenn nicht dann auch^^.
Ich wollte in meinem Kernel dort mal den Stack hinlegen, es hat aber nicht recht gefunzt. wenn er auf 0x9FFFF liegt gehts aber. Checkt das mal bitte. Würde gerne wissen obs an meinem Loader liegt, Theorien dazu sind auch erwünscht.
Titel: Community-OS
Beitrag von: T-Head am 10. April 2005, 19:13
Hi,

wäre das viel Aufwand, noch weitere Testes rein zu machen???
Mir is es zwar egal, ober MMX SSE ... getestet werden! Ich weiß auch net, obs jetz unbedingt nötig ist! Aber schlecht wärs bestimmt auch net!

Ichhab jetz den Bootloader an nem anderen Rechner getestet! Er geht perfekt!
Kann es daran liegen, dass mein Rechner zu gut ist?? Ich hab einen AMD Athlon 3200+ 64Bit!!   :?:
Titel: Community-OS
Beitrag von: Roshl am 10. April 2005, 20:08
Zu gut wohl kaum. Mein Bochs emuliert ja auch 64Bit und da gehts ohne Probleme
Aufwand ist es nicht viel, ich muss nur rausfinden wie es immer genau zu prüfen geht. Dank CPUID gehts ab dem 486 ja zum Glück wesentlich einfacher als beim 386 und drunter. Allerdings MMX und SSE sind nicht unbedingt lebenswichtig fürs OS. Naja schaden kann es ja nicht.
Irgendwelche anderen Features gewünscht?
Titel: Community-OS
Beitrag von: DarkThing am 10. April 2005, 21:00
Wär noch cool wenn man den RAM checken könnte also z.b.
check;ram;8;go
Und er dann nur weiter macht wenn man mehr als 8 MB RAM hat. Das go könnte man sich dann sparen weil stop hier ja net wirklich Sinn macht.
Titel: Community-OS
Beitrag von: joachim_neu am 10. April 2005, 22:00
Zitat von: Roshl
Zu gut wohl kaum. Mein Bochs emuliert ja auch 64Bit und da gehts ohne Probleme
Aufwand ist es nicht viel, ich muss nur rausfinden wie es immer genau zu prüfen geht. Dank CPUID gehts ab dem 486 ja zum Glück wesentlich einfacher als beim 386 und drunter. Allerdings MMX und SSE sind nicht unbedingt lebenswichtig fürs OS. Naja schaden kann es ja nicht.
Irgendwelche anderen Features gewünscht?


war das net 386? ich bin mir net sicher...
ich denke, dass es keine mehr unter 386 gibt. vielleicht sollte man das OS unter rechnern mit CPUs unter 386 garnet lauffähig machen, weil der auch kein PM hat...
Titel: Community-OS
Beitrag von: T-Head am 10. April 2005, 23:59
Hi,

@DarkThing
Ich hoffe doch, dass jeder 8Mb RAM hat!  :wink:
Wenn dann würd ich so was nich mit 8 sonder z.B. 32 MB RAM machen! Ich denk mämlich mal, dass das OS n bissel mehr wie 8Mb RAM benötigt oder???

@Roshl
An was könnts dan liegen, dass es nicht geht???
Titel: Community-OS
Beitrag von: Svenska am 11. April 2005, 10:12
Zitat von: T-Head
Ich denk mämlich mal, dass das OS n bissel mehr wie 8Mb RAM benötigt oder???

Auf dem einen Rechner krieg ich mit Mueh und Not grad mal 8 MB zusammen (hab zwar 16 MB, aber das Board hat nur 8 Steckplätze i486). Es wäre schön, wenn das OS, es muss ja nicht hammermässig optimiert sein, aber ein bisschen auf 486ern fluessig laufen wuerde.
Ich denke mal, dass man mit 4 MB schon ne ganze Menge anfängen könnte, aber 8 als Mindestanforderung fände ich auch gut. Mehr wäre fuer ein Hobby-OS overkill :lol:

Ab August könnte ich mich als Tester auf Mindestmaschinen (Notebook i486sl/33 4/12mb; cx486/40 1/2/4/8mb) gebrauchbar machen. Wenn ich darf...

Svenska

Bäh schon wieder zuviel geschrieben :(
Titel: Community-OS
Beitrag von: DarkThing am 11. April 2005, 13:13
Jo die 8 sollte ja durch alles ersetzbar sein. Also es sollte dann auch check;ram;32 gehen. Aber ich find 8 gar nicht mal so abartig: Bedenkt doch mal was in den Speicher kommt (abgesehen von BIOS Sachen usw.). Erstmal das OS selbst, bei dem ich MAXIMAL 1 MB sagen würde. Danach irgendwelche Daten aber auch hier unter normalen Umständen nicht mehr als 1 MB. Also ist 8MB ganz sinnvoll - auch wenn es eh jeder haben sollte.
Titel: Community-OS
Beitrag von: Svenska am 11. April 2005, 13:42
1 MB Stuff, was du an Kram brauchst (Bios, GDT ect.)
1 MB Kernel (was schon viel ist fuer ein kleines OS)
Den Kernel kann man noch bedeutend kleiner (im Speicher) machen, wenn man nur die Mindestfunktionalität
jeweils im RAM hält. Dann ist mit 2 MB schon viel anzufangen.
Aber so viel mein ich ja gar nicht, aber mit der Aufteilung kommt man mit 4 MB schon weit :)

Man muss ja nicht wie andere OS' alles uebertreiben. Nach oben offen ja - nach unten so klein wie möglich :)
MenuetOS setzt glaube ich ja schon 64 MB voraus... Windows XP 18 MB (*g*)
Wenn sagen wir der Kernel auf 2 MB zum Laufen zu kriegen ist, wäre ich ultimativ gluecklich :) :) :)

Svenska
Titel: Community-OS
Beitrag von: DarkThing am 11. April 2005, 13:47
Mein Kernel ist ca 40kB groß und ich verwende in der Regel nicht mehr als 5kB Speicher (wofür auch wenn ich noch kein FS hab). Aber die 1 MB sind da um sicher zu gehen das man auch mit einer GUI und Bitmaps genug platz hat - auch wenn das nur die wenigsten machen werden. Das zeigt uns das auch 1-2MB reichen also sind 8 durchaus ok  8)

@windows: auf http://www.winhistory.de gibt es Links unten einen Link der Win XP mit 20MHz heißt da wird XP auf nem 20 MHz PC mit 32 MB Ram installiert und zum Laufen gebracht.
Titel: Community-OS
Beitrag von: joachim_neu am 11. April 2005, 14:08
*g* mein kernel ist 3,5 kb groß ;) (assembler an die macht!  :twisted: ) und da hab ich schon IDT, bitmapfont, tastaturtabelle, FDD, ansätze von HDD und VESA in 2 modes drinne ;) (und GDT und paging und multitasking mit TSS)
Titel: Community-OS
Beitrag von: TeeJay am 11. April 2005, 14:35
Man muss unterscheiden zwischen der Größe des CODES des Kernels und der Größe an Speicher die er für GDT, Verwaltung von Dateien usw benötigt.

Selbst ein vom Code her kleiner Kernel kann massig Speicher benutzen :)
Titel: Community-OS
Beitrag von: DarkThing am 11. April 2005, 17:06
Kennt ihr .kkriger (das wird so geschrieben!)? Das ist ein Ego Shooter mit wirklich guter Grafik für Windows der 96kB groß ist und 512MB RAM braucht! Link: http://www.theprodukkt.com/
Ist in C++ geschrieben.

Assembler ist zwar auch gut aber ich verwende trotzdem lieber C für meinen Kernel weil das irgendwie übersichtlicher ist.
Titel: Community-OS
Beitrag von: urx_ am 11. April 2005, 17:18
.kkrieger entpackt vor dem spielen aber afaik fast 1GB auf die festplatte. mich würde interresieren wie man das auf 96kb gepackt kriegt
Titel: Community-OS
Beitrag von: DarkThing am 11. April 2005, 17:21
Ganz einfach:
Texturen,Sounds, Levels usw. werden nicht direkt gespeichert sondern in Form von Formeln oder so. Wenn diese ausgerechnet sind ergibt das die Positionen von ein paar Vertices oder Pixeln. Die fertigen Dateien werden irgendwo gespeichert und dann normal verarbeitet.
Titel: Community-OS
Beitrag von: Roshl am 11. April 2005, 17:47
Genau bestes Beispiel:
Man kann ein Fraktal in einer Formel ausdrücken die ein paar Bytes belegen würde. Komplett errechnet, je nach Bildschirmauflösung dann fast 2 MB (800x600x32)
Titel: Community-OS
Beitrag von: elfish_rider am 11. April 2005, 17:50
[schild=1]Greetings to Mr Mandelbrot[/schild]
Titel: Community-OS
Beitrag von: jeb am 11. April 2005, 19:12
ok, aber für das alles braucht man auch einen guten prozessor (habs auf meinem 1.5 Ghz [mindestvoraussetzung] nicht zum laufen gekriegt. Ist aber schon n paar Monate her).

mfg, jeb
Titel: Community-OS
Beitrag von: DarkThing am 11. April 2005, 19:33
Das alles müsste ja während der (extrem langen) Ladezeit passieren, aber während dem eigentlichen Spiel braucht man ja immer noch n High End PC. Ich denk mal das liegt daran, dass die alle auf Speicherplatz optimiert haben auch wenn das höllisch Performance kostet.
Bei mir läufts recht gut (2.6 GHz, 512 MB Ram, Radeon 9800 SE).

Aber irgendwie kommen wir vom Thema ab. Immerhin waren wir mal bei Bootloadern...
Titel: Community-OS
Beitrag von: stultus am 11. April 2005, 21:01
naja, back2topic, ich find die idee wegen Wiki (ich glaub die entsprang the-programmerfish) is gut, da kann vorallem jeder gleich eintragen :)
Titel: Community-OS
Beitrag von: DarkThing am 12. April 2005, 14:24
Macht wirklich Sinn - solange man eine gewisse Ordnung reinbringt. Eine andere Möglichkeit wäre einen eigenen Bereich im Forum anzulegen.
Titel: Community-OS
Beitrag von: stultus am 12. April 2005, 15:23
ich war jetz mal so "frech" und hab unter http://commos.overgames.de/wiki/ nen Wiki installiert (für die dies interessiert, ich hab nen MediaWiki genommen, dasselbe ding was auch auf wikipedia.de läuft ;)) allerdings bin ich da in sachen design eben noch nich ganz durchgestiegen, würd mich freuen wenn einer die hauptseite mit tabellen aufteilen könnte
nen cvs könnt ich da auch noch einrichten, würd nur nen bissel dauern (bin den rest des tages weg, oder zumindenst bis heute abend, wobei ich da evtl. auch ne chance hab an nen rechner zu kommen).
Titel: Community-OS
Beitrag von: T-Head am 12. April 2005, 22:51
Hi,

sieht richtig gut aus! Kann man verwenden!  :)
Titel: Community-OS
Beitrag von: T-Head am 14. April 2005, 16:50
Hi,

hat eigentlich schon jemand ne C-Funktion zur Textausgabe im Kernel geschrieben??? MAcht so was schon jemand???
Titel: Community-OS
Beitrag von: DarkThing am 14. April 2005, 18:25
AFAIK nein. Aber ich einen Tipp: Schreibt euch eine wirklich gute Funktion dafür, die aber nicht die Zeichen selber anzeigt. Dafür macht man eine Hilfsfunktion:


typedef int (* fnptr_t) (unsigned c, void** helper);

int printfhelp(unsigned c, void **ptr)
{
// Hier wird das Zeichen angezeigt
}

int doprintf(const char *fmt, va_list args, fnptr_t fn, void *ptr)
{
// Hier den Text analysieren und ein Zeichen mit Hilfe des Function
// Pointers ausgeben
// Leerzeichen ausgeben (als Beispiel)
fn(' ', &ptr );
}

void printf(const char *msg, ...)
{
// Parameter zusammensetzen
va_list printfargs;
va_start(printfargs, msg);

// Der letzte Parameter ist ein Function Pointer auf die
// Funktion für die eigneltiche Zeichenausgabe
doprintf(msg, printfargs, printfhelp);

va_end(printfargs);
}

Das hat den Vorteil das man den Teil für die eigentliche Textausgabe jederzeit variiren kann. Z.B. könnte man verschiedene Treiber für Farbe & Schwarzweiß erstellen und dann nur den Function Pointer ändern.

Ich weiß die Erklärung ist nicht so verständlich aber wenn jemand fragen dazu hat kann er ja fragen  :wink:
Titel: Community-OS
Beitrag von: T-Head am 14. April 2005, 18:34
Hi,

ich wollt eigentlich nicht wissen, wie man ne Funktion macht, sondern ob es schon eine gibt!  :wink:
Titel: Community-OS
Beitrag von: DarkThing am 14. April 2005, 18:37
Also es gibt keine (glaub ich). Bisher existiert nur der Bootloader und ein Testkernel, der aber noch nix macht.

Aber wenn einer sich entschließt eine Funktion zur Bildschirmausgabe zu machen ist diese Technik vielleicht ganz interessant.
Titel: Community-OS
Beitrag von: T-Head am 14. April 2005, 18:42
Hi,

ja! Wenn du meinst! Kannst ja ne Funktion schreiben!  :wink:
Wenn natürlich alle einverstanden sind!
Oder??? Wer bestimmt jetz eigentlich, wer was macht!
Was ist zu machen, ...

Könnte vieleicht jemand mal ne Liste mit allen Aufgaben Posten, dass sich dan jeder, der will irgendwo eintragen kan, ...

thx
Titel: Community-OS
Beitrag von: DarkThing am 14. April 2005, 18:44
Milestones sind immer gut bei einem größeren Projekt. Aber ich hab im Moment keine Zeit/Lust mich um die komplette Bildschirmausgabe zu kümmern. Aber ich kann durchaus mitmachen oder einen Grundaufbau erstellen.
Titel: Community-OS
Beitrag von: T-Head am 14. April 2005, 18:45
Hi,

mir is es gelich, wer was macht! Kannst ja mal machen, dann Posten, ...  :P
Titel: Community-OS
Beitrag von: Jidder am 15. April 2005, 08:51
ich würde da gerne was ergänzen:

erstmal eine puts-funktion:
// Name:      puts
// Returns:      ---
// Parameter:   Anzuzeigende Zeichenkette
// Description:   Gibt die angegebene Zeichenkette auf dem Bildschirm aus
void drvDisplay_puts(const unsigned char *s)
{
   while(*s) {
      drv_Display_putch(*s++);
   }
}


dann noch was damit, wenn der cursor unten angekommen ist, nach obengescrollt wird:

void drvDisplay_scrolld(void)
{
register int i;
unsigned short *vidmem = vgaadr;

        // zeile 2-25 um eins nach oben kopieren
for (i=0; i<scrwidth*(scrheight-1);i++)
vidmem[i]=vidmem[i+scrwidth];

        // und zeile 25 leer machen
for (i=scrwidth*(scrheight-1); i<scrwidth*scrheight;i++)
vidmem[i]=0;

if (cur_cursorY > 0)
cur_cursorY--;

return;
}

void drvDisplay_newline(void)
{
// carriage return
cur_cursorX = 0;

// line feed
cur_cursorY++;
if (cur_cursorY > 24)
kvideo_scrolld();

return;
}


müsste dann in void drvDisplay_putch(unsigned char c) hier hin:
  // New Line?
   else if (c == '\n')
   {
      drv_Display_newline();
   }

und hier
  // Evtl. nächste Zeile
   if (cur_cursorX >= scrwidth)
   {
      drv_Display_newline();
   }


basiert auf meinem "video-treiber (http://easytarget.de/jidder/c-80x25-video-treiber-pmode.html)"
Titel: Community-OS
Beitrag von: DarkThing am 15. April 2005, 13:16
Statt der puts Funktion sollte man aber möglichst bald eine komplette printf Funktion haben, mit der man auch sowas machen kann:
printf("Inhalt von Var1 = %d", var1");
Diese gibt dann den richtigen text mit Hilfe von putch aus. puts sollte aber trotzdem drin bleiben.
Titel: Community-OS
Beitrag von: T-Head am 15. April 2005, 14:40
Hi,

irgendwie geht das net so wirklich!
Kannst du bitte mal Posten, wie mans richtig verwendet!
Was muss ich in kernel.c eingeben, damit ein Text ausgegeben wird!
Es kommen zwar keine Fehler, aber Es wird auch nicht Compiliert!
Titel: Community-OS
Beitrag von: DarkThing am 15. April 2005, 14:47
War auch nicht dafür gedacht. Wenn schon müsstest du die boot.ini so ändern dass kein Vesa verwendet wird. Du müsstest ansonsten die Datei display.h includen und natürlich display.c mit kompilieren!!! Und dann so was machen:


#include "driver\display.h"

const char *text;

void main()
{
    // Text anzeigen
    puts(text);
    // Endlosschleife
    for(;;);
}

const char *text = "hallo\n";

[/code]
Titel: Community-OS
Beitrag von: T-Head am 15. April 2005, 14:58
Hi,

Ohh, ich hatte das

const char *text; vergessen!
Komisch, dass da keine Fehlermeldung kam!
Na ja!  :?

Jetz gibts aber wieder n Prob beim Linken:

c:/dokume~1/braun/desktop/commos~1/arm-hp/bin/ld.exe: kernel.obj: Relocations in
 generic ELF (EM: 40)
kernel.obj: could not read symbols: File in wrong format
Titel: Community-OS
Beitrag von: Roshl am 15. April 2005, 15:09
Will euch ja nicht stören oder so aber wir hatten gesagt eigentlich keinen Textmodus zu nehmen. Gleich auf Vesa, sonst hätte ich meine Printfunktionen ja shcon gleich mit reingepackt.
Titel: Community-OS
Beitrag von: DarkThing am 15. April 2005, 15:15
Ja okay. War ja mehr son Beispiel wie mans am besten trennt. Also das es driver\display.c gibt und einen Teil der den Treiber verwendet.

Wie läuft das eigentlich mit Vesa??
Titel: Community-OS
Beitrag von: Jidder am 15. April 2005, 15:39
was ist jetzt mit einem wiki? und wie wärs mal mit einem unterforum, für das CommOS? es werden ja auf jedenfall eine menge diskussionsstoff und viele fragen zum CommOS auftauchen. sollten diese vielleicht besser recht früh von den anderen lowlevel fragen getrennt werden? (und dass auch dieser thread nicht so endlos lang wird...)
Titel: Community-OS
Beitrag von: DarkThing am 15. April 2005, 15:45
Wiki: http://commos.overgames.de/wiki/

Aber auch das Unterforun sollte man nochmal trennen. Einen Teil für Fragen, einen für News usw. Ich denke das dieser Thread nicht mehr gebraucht wird sobald die Unterforen existieren, da es dann zu den wichtigen Sachen in disem Thread (Bootloader, ...) einige Threads gibt. Und der hier kann man ja schließen (aber nicht löschen!).
Titel: Community-OS
Beitrag von: stultus am 15. April 2005, 16:08
Eher ne ganze Kategorie, ich denk das es zum Comm-OS noch einiges mehr geben wird ;) Ansonsten würde ich mich freuen wenn ihr fleißig Infos ins Wiki schreibt, mag net alleine alles mit Inhalt füllen (das is ne ganze schöne Arbeit, hab grad nen bissel was übern Bootloader eingetragen...)

EDIT @ DarkThing: Check mal deine Systemmeldungen im ICQ, brauche Erlaubnis wegen Kontaktliste...
Titel: Community-OS
Beitrag von: DarkThing am 15. April 2005, 17:43
Mein ich ja und dann extra Bereiche für Fragen, News, Kernel-Dev, Treiber-Dev, usw. Vielleicht sollte man irgendwo die Adresse fürs Wiki hinschreiben so das es jeder sehen kann..

@Noob: Versuchs nochmal. Kann sein das ich dich einfach weggeklickt hab... Sorry  :?
Titel: Community-OS
Beitrag von: T-Head am 24. April 2005, 16:13
Hi,

ja, das mit dem Wiki is net grad das tollste(das eintragen)
Aber wenn mans erst mal raus hat, wie alles Funkt, dann gehts eigentlich!

Ich hab ja auch schon n bissel was eingetragen!  8)
Titel: Community-OS
Beitrag von: Svenska am 25. April 2005, 09:36
Gibt es irgendwo im Wiki ne Möglichkeit, alle bereits geschriebenen Seiten
anzuzeigen?
Wird das CommOS später eine Möglichkeit haben, multilingual zu werden?
Ich biete mich dann als Uebersetzer nach Schwedisch an :lol: :lol:

Svenska

edit: Ich habe im Wiki mal ein bisschen Text reingekritzelt. Da ich aber
von der Wikipedia-Syntax nicht so viel Ahnung habe, wuerde ich mich
freuen, wenn da jemand mal durchgehen könnte.
Soll das Wiki nur zum Thema Comm-OS sein oder sollen da auch andere
Themen behandelt werden können, die eher zu Lowlevel gehören, als zu
OS-Proggung?
Titel: Community-OS
Beitrag von: DarkThing am 25. April 2005, 13:12
Ich denke das Wiki sollte nur für das OS sein. Und auch da nicht bestimmte Probleme bei der Programmierung enthalten. Also das es so ne Art Anleitung wird.
Und nochmal: Irgendwo muss ein großer Link zum Wiki hin!
Titel: Community-OS
Beitrag von: matthieuriolo am 25. April 2005, 13:21
ICh möchte mich nun auch schnell zu wort melden ^^ im programmieren kann ich euch wahrscheinlich nicht besonders helfen aber ich könnte grafiken herrstellen ;) Möchte nämlich auch einen kleinen beitrag zu diesem OS haben...
Titel: Community-OS
Beitrag von: DarkThing am 25. April 2005, 13:43
Ist eigentlich ne GUI geplant? Und was wird zur Zeit überhaupt gemacht?
Titel: Community-OS
Beitrag von: T-Head am 25. April 2005, 14:29
Hi,

mir scheints so, als würd zur Zeit irgendwie niemand was machen!
Hoffnetlich ist das Forum bald so weit, dass es n eigenes Comm-OS-Abteil hat! Dann geht bestimmt mehr!  :P

Ich hoff doch, dass ne GUI gemacht wird! War leider im IRC-Chat nich dabei, hatte keine Zeit! Weiß da also nix genaues!  :wink:
Titel: Community-OS
Beitrag von: Another Stupid Coder am 25. April 2005, 14:49
Ein reines VESA-OS ohne GUI wäre ein wenig witzlos...da wäre Text-Modus besser.
Titel: Community-OS
Beitrag von: T-Head am 25. April 2005, 15:56
Hi,

hast recht! Da hab ich jetz garnet drann gedacht!  :oops:
Titel: Community-OS
Beitrag von: DarkThing am 25. April 2005, 17:26
Dann sollte man als erstes ne Reihe Funktionen schreiben die für Pixel malen und Pixelfarbe holen da sind. Und etwas zum Verwalten von einem Double Buffer. Und dann Buchstaben printen. Nur soviel: Ich hab mit VESA noch nix gemacht also hab ich schonmal keine Ahnung davon.
Titel: Community-OS
Beitrag von: stultus am 25. April 2005, 17:34
ich hab mal nen bissel was in sachen vesa ausprobiert, funzt aber nich so wie ich will (hab das vesa-tut welches hier im forum zu finden ist als grundlage genommen).

wegen dem wiki noch: solang es ansatzweise was mitm commos zu tun hat isses ok, also gegen berichte zum Protected Mode, Vesa, usw. habsch nix ;)
Titel: Community-OS
Beitrag von: Roshl am 25. April 2005, 19:38
Ich sagte ja man müsste sich mal im Chat treffen und absprechen wer was als nächstes macht aber auf mich hört ja schonmal grundsätzlich niemand.
Titel: Community-OS
Beitrag von: T-Head am 25. April 2005, 19:40
Hi,

ja! Chat wär gar keine Schlechte Idee! Nur wann, wie wo??
Titel: Community-OS
Beitrag von: Roshl am 28. April 2005, 12:58
Ich hab meinen Bootloader zusammen mit nem C-Anfangskernel gemacht.
Das wars auch schon. Alles weitere zum Comm-OS ab sofort bitte im dafür neuen Bereich.
[schild=1]Thread closed[/schild]