Beiträge anzeigen

Diese Sektion erlaubt es dir alle Beiträge dieses Mitglieds zu sehen. Beachte, dass du nur solche Beiträge sehen kannst, zu denen du auch Zugriffsrechte hast.


Themen - Osbios

Seiten: [1]
1
OK, das hier soll ein Thread für all Leute werden, die sich über diese $&$%&$%&$% von Hardware Herstellern aufregen.

Die halten sich an keinen beschissenen Standard solange darauf M$-Scheiße läuft oder?  :x
Die Linux Leute frikeln dann irgendwann etwas zusammen, so das Linux auch auf der beschissensten Hardware funktioniert. (Ich wette, ohne diese ganzen Workarounds währe der Kernel Source nur 500 KB groß!!! :| )

Wenn ich alleine daran denke, von wie vielen Workaround mein Debian mir erzählt wenn es meinen Desktoprechner hochfährt. T_T

Und wir Hobby OS Leute... wir gucken dumm aus der Wäsche!


Ein paar Beispiel die ich heute beim KBC hatte:

Eine PC Ignoriert "Translate Scan Codes"-Bit womit man theoretisch das Übersetzen von Scancode2 auf Scancode1 auf dem KBC ausschalten kann.

Ein KBC eines anderen PCs antwortet munter auf Anfragen die ich eigendlich der Hardware am entsprechenden PS2 Port stelle.

PC: Hallo PS2 Maus, bist du da
KBC: *Stimme verstell* JA ICH BIN HIER! JA ICH BIN HIER!

Und noch viele andere "Features".
2
Lowlevel-Coding / USB-Maus -> legacy PS/2-Maus
« am: 03. November 2007, 10:05 »
Meine Aufarbeitung des KBC macht gute Fortschritte. Jedoch gibt es da eine kleine Frage auf die ich gestoßen bin.

Viele Mainboard emulieren eine PS/2-Maus wenn keine echte, aber eine USB-Maus vorhanden ist.
Eines meiner Mainboards emulieren die PS/2-Maus auch, wenn gar keine Maus-Hardware angeschlossen ist!

Ich möchte aber gerne einen "reinen" Zugriff auf das Maus-Port (2. PSAUX) haben.

Wie kann ich den sogenannten "legacy modus" ausschalten? Muss ich dafür erst den USB Chip initialisieren? Oder gibt es eventuell eine einfachere Methode?
3
Das Wiki / KBC und PPI Wiki-Artikel
« am: 27. October 2007, 21:18 »
Da ich keine Rechte besitzt im "Tutorial-Diskussionen" oder "Resource Center" etwas zu schreiben, stelle ich es mal hier rein.

Es geht um folgendes:
Ich hatte den Zusammenhang zwischen KBC und PPI noch nicht richtig verstanden. Und bin eben ein bisschen auf der Suche nach Erleuchtung durchs Internet gebrowst. Ich glaube, ich habes jetzt verstanden. :]

Für alle unwissenden:
Das Programmable Peripheral Interface (PPI) wurde ursprünglich in alten XT Systemen benutzt. Also z.B. in 286 PCs. Dann wurde es aber in AT Systemen durch den Keyboard Controller (KBC) abgelöst.

Die Frage warum man diesen Kontroller, der relativ viele Aufgaben übernimmt, als "Keyboard Controller" bezeichnet konnte ich aber noch nicht beantworten. Ich vermute, die meisten Funktionen sind erst mit der Zeit dazugekommen und die Ansteuerung der Tastatur war zuerst vorhanden.

Da das PPI durch den KBC ersetzt wurde, überschneiden sich die Funktionen teilweise bzw. werden gleich angesteuert.

Ich überlege nun, wie man das PPI und den KBC am besten is Wiki einarbeiten kann. Entweder in den gleichen Artikel, der dann aber nicht mehr als Keyboard Controller bezeichnet werden sollte. Oder in separaten Artikeln, auch wenn sich die Grundfunktionen überschneiden.

Eventuell kann ja jemand mit mehr Hintergrundwissen zum PPI eine Empfehlung abgeben?
4
Offtopic / Wiki Seiten löschen?
« am: 21. October 2007, 21:05 »
Sacht mal, wie kann ich eigentlich eine Seite aus der/die/das(wie auch immer) Wiki löschen? Ich hatte aus Versehen eine zweite IO Port Liste angefangen -.-
5
Offtopic / ReactOS> Meinungen zur Aktuellen Version
« am: 13. September 2007, 20:20 »
Wie man auch den LL-News entnehmen kann, gibt es eine neue Version von ReactOS. Ich habe zwar keine berauschenden Erlebnisse mit der Letzten Version gehabt, wollte die neue dann aber trozdem ausprobieren.

Und ich muss sagen, ich bin beeindruckt. Zwar gibt es immer noch recht viele Grafikfehler. Das System ist mir auch eben einmal abgestuerzt. Aber wenn man bedenkt, dass dieser Beitrag gerade in VMare unter ReactOS in der Windows-Version von Firefox geschrieben wird... :)

Meiner Meinung nach koennte es in absehbarer Zeit von eventuell 2-6 Jahren einen stabilen Windows-Klon geben.
Meine Hoffnungen sind auf Jedenfall mit dieser Release angehoben worden.
6
Offtopic / kleiner und etwas andera Logiksimulator
« am: 25. February 2007, 22:01 »
Auch auf die Gefahr hin, dass ich für verrückt gehalten werden...

Ich habe mal aus Spaß angefangen einen Simulator für logische Schaltungen zu proggen. Dieser verfügt jedoch nicht über eine IDE, sondern wird mit einem Bild in BMP Format gefüttert. :)

Beispiel (5 fach vergrößert): http://img222.imageshack.us/img222/3343/testfo6.png

Die obereen 2 Leitungen sind Eingänge. Der linke Eingang wird beim starten der Simulation einmalig aktiviert und der Recht soll Tastatureingaben in serieller Form übertragen (1 Startbit+8 Datenbits).
Unten gibt es einen Anschluss für die Textausgabe auf den Bildschirm. (auch 1 Startbit+8 Datenbits).
In der Mitte sind die beiden Schaltungensarten UND und XOR dargestellt, mit dennen man jede Logik darstellen kann. Schwarze Pixel dienen dabei als Leitung.

Zusätzlich sollen die Ränder links und rechts mit belibieg vielen Ein/-Ausgängen für einen Arbeitsspeicher dienen.

Damit könnte man sich dann eine ganze CPU zusammenbauen.  O.o

Speziel die Möglichkeit einen Arbeitsspeicher mit (theoretisch unbegrenzt viel) Speicher zu benutzen (was in fast allen Logik-Simulatoren fehlt) sollte doch großes Potenziall enthalten.

Frage: Was für Ein-/Ausgabemöglichkeiten könnte man noch einbauen wenn es fertig ist? Was haltet ihr davon?
7
Offtopic / Aktion Wiki
« am: 17. January 2007, 18:25 »
Wie währe es wenn man mal ab und zu (z.B. am Wochenende, oder wann die Leute halt Zeit haben) mit mehreren an einem ausgewählten Thema was im Wiki erarbeitet?

Ich habe mich selber für ein Wiki ausgesprochen, habe jedoch im letzten Jahr nichts größeres im Berreich OS-Dev gemacht und konnte daher auch nicht soviel beitragen. Wenn einem dann noch kleinere Datenverluste die halb-fertigen Tutorials verschlingen ist die Lust auch nicht mehr so groß.

Man könnte mögliche Themen erstmal von der Reihenfolge des OS-Dev Programmierens abhängig machen. (Also zuerst der Bootloader, dann die Treiber für eine nVidia GeForce 7300 GS)
Als zweites würde ich eine Befragung im Forum empfehlen. (Wer will/brauch zu welchem Thema Informationen)

Was haltet ihr davon?

PS: Ihr könnt hier meinentwegen auch schon reinschreiben was ihr gerne für Themen in der Wiki sehen wollt.
8
Offtopic / frohes neues!!!
« am: 01. January 2007, 00:40 »
.        .   
    *2007*   .
      .     .
 * .   *
 |  *  |  .  *
|  | .|  *  |
|  |  |  |  |

:-D
9
Offtopic / Wike (Bilderlinks und Artikelübersicht)
« am: 25. November 2006, 18:31 »
Zwei Fragen zur Wiki:

1. Wann kann ich endlich Bilder in die Wiki einfügen? Momentan wird aus meinen Bilderlinks nur eine gewöhnlicher Link erstellt.

2. Gibt es eine Übersicht ALLE exestierenden Wiki-Artikel?
10
Offtopic / Experimentele Programmiersprache
« am: 29. July 2006, 16:00 »
Ich bastel gerade eine Programmiersrache. Deshalb bin ich auf der suche nach Informationen über die Schwächen und Stärken von anderen Sprachen. Zu C / C++ kann ich da auch recht viel finden (besonders was Schwächen angeht) aber andere Sprachen sind leider weniger in der Kritik (Negativ wie Positiv).

Meine Frage:
Hat hier eventuell jemand Quellen/eigene Erfahrungen was andere Programmiersprachen angeht.


Meine Ideen gehen auch mehr in richtung einer "sauberen" Programmiersprache, wobei die Ausführungsgeschwindigkeit erstmals keine Rolle spielt.

Bsp.: Variablen die mit einem beliebigen Wertbereich definiert werden (1..100) und bei denen festgesetzt wird was bei einer Überschreitung dieses Wertes passiert z.B. Überlauf, Sätigung, Fehler, ...
Das soll alles gelöst von den Einheiten des jeweiligen Systems geschehen.

Viele Fragen/Probleme konnte ich aber noch nicht lösen. Etwa die Größe von Zwischenergebnissen bei Formelrechnungen.

Was ich auch suche sind Neue Programmiersprachen mit anderen Konzepten, so dass ich ein bisschen abgucken kann. ;)

Es wird übrigens ein eigenes Binärformat (sowas java).
11
Offtopic / Fundstück Softwarepatent
« am: 18. June 2006, 22:04 »
Beim lesen der VT82C42 KBC Doks. ist mir etwas ins Auge gefallen, was ich euch nicht vorenthalten möchte.

The VT82C42 is a compatible direct replacement for the Intel 80C42 BIOS version of the Keyboard Controller. The VT82C42 is fully implemented by hardware logic so that it has a very fast response capability for any command issued by the host. In addition to keyboard support, the VT82C42 also offers PS/2 mouse support. The VT82C42 also offers the Mouse Lock TM  function (patent pending), a feature exclusively designed by VIA technologies, which locks the mouse when the keylock function is initiated.

Meiner Meinung nach sind "normale" Patente schon mehr Schlecht als Recht. Aber was es alles für Trivialpatente gibt ist einfach unfassbar.
12
Lowlevel-Coding / HLT funktioniert nicht
« am: 17. June 2006, 09:45 »
Habe hier ein Problem mit dem HLT Befehl.

Soviel Ich weiß sollte der Prozessor bei einem HLT anhalten und nur für einen IRQ seinen Wartezustand verlassen bzw. wieder in den Wartezustand gehen, wenn der IRQ mit einem normalen IRET beendet wird.

Bei mir überspringt er das HLT aber einfach.

Ich habe das bis jetzt nur unter bochs(2.2.1) getestet. Ich hoffe das es nicht daran liegt.
13
OS-Design / Ereignisse an Programme weitergeben
« am: 20. May 2006, 12:53 »
Ich hab mir jetzt mal Gedanken bezüglich mehrerer Programme und Ereignissen gemacht.

Ich kenne leider nur die Methode mit einr Warteschlange, wo alle Ereignisse aufgelistet werden. Wenn ein Programm dann die CPU zugeteilt bekommt kann dies seine eigene Liste abarbeiten.

Was gibt es noch für Methoden? Z.B. in Echtzeitsystemen kann wahrscheinlich jeder IRQ einen Taskwechsel auslösen.

Und was macht man mit Programmen die nicht reagieren, also z.B. seine Liste nicht abarbeiten? Die kann ja nicht immer größer werden. :/
14
Lowlevel-Coding / Pagingproblem bei Sprung auf neue Adresse
« am: 19. February 2006, 11:06 »
Paging funktioniert in meinem System schon wunderbar, bin jetzt aber auf ein seltsames Problem gestoßen:

Anfänglich habe ich immer die echten Adressen meines Kernels gemapt, also der Kernel wurder direkt hinter dem Bootsektor geladen (0x7E00) und die Pages wurden auf die echten Adressen gesetzt. (Virtuelle Adresse 0x7E00 = Phy. Adresse 0x7E00)

Ich habe dann auch ein par andere Sachen getestet, wie etwa den Videospeicher über eine andere Virtuelle Adresse zu benutzen. Es funktionierte bis hierhin alles wunderbar!

Jetzt sollte der Adressbereich des Kernel (ganz der Mode nach) auf den 3. GiB gelegt werden. (Virtuelle Adresse: 0xC0000000)

Das einschalten und springen soll natürlich in einem Rutsch passieren:

 - DT, PTs erstellen
 - CR3 und CR0 setzen
 - Sprung zur neuen Adresse

first_DT_rm=0x100000
 first_PT_rm=0x101000

;Virtuelle Adresse 0 zeigt über PT auf 0
;Wenn dieser Abschnitt auskommentiert wird, funktioniert es nicht mehr! :/
 mov dword[first_DT_rm      ],first_PT_rm
 or  dword[first_DT_rm      ],111b

;Virtuelle Adresse 0xC0000000 zeigt über PT auf 0
 mov dword[first_DT_rm+0xC00],first_PT_rm
 or  dword[first_DT_rm+0xC00],111b

;erstellen der PT-Einträge
 mov eax,first_PT_rm
 mov ebx,111b
 more:
  mov [eax],ebx
  add ebx,0x1000
  add eax,4
 cmp ebx,(0x1000*0x100)+111b
 jne more

;setzen von CR3 und CR0
  mov eax,first_DT_rm
  mov cr3,eax
 ;enable pagingbit in cr0
  mov eax,cr0
  or  eax,0x80000000
  mov cr0,eax

;Pagin aktivieren indem auf die neue Adresse gesprungen wird
  mov eax,proceed_paging
  push cs
  push eax
  retf

org $+0xC0000000 ;3 GiB Kernelspace
  proceed_paging:

;Über die Virtuelle Adr auf den Bildschirm zugreifen
 mov byte[es:0xB8000+0xC0000000],'X'

 jmp $


Das seltsame ist: wenn ich die Virtuelle Adresse 0 nicht auch auf 0 umleite gibt es einen Pagefault. Aber anhand des Zugriffs auf den Grafikspeicher kann ich sehen, dass das Paging über 0xC0000000 funktioniert.

Als Assembler benutze ich FASM.
15
Es gab mal update für den Microcode des Pentium4 (glaub der war das), der muss zwar nach jedem Reset neugeladen werden, aber das ist experimentfreudigen OS-Devern nur recht.

1. Kann man irgendwie an spec. rankommen, irgendwelche Infos?

2. Gibt es eventuell bei AMD auch die Möglichkeit den Microcode zu updaten?

Es geht mir dabei um das mögliche Umgehen der runzeligen x86 Befehle. Und wer weiß, eventuell kann man damit auch den PM etwas verbessern.
Seiten: [1]

Einloggen