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 - KtmnjjpfjsFvzG

Seiten: [1]
1
Lowlevel-Coding / IDE und IDENTIFY DEVICE
« am: 17. February 2013, 14:17 »
Ich bin gerade dabei, einen Treiber zu schreiben und orientiere mich dabei an dem hier: http://www.lowlevel.eu/wiki/IDE

Nachdem ich also die Schreiben & Lesen - Tests gemacht habe (bei denen bei QEMU immer der 2. Kanal "gewinnt"), versuche ich dann das Kommando 0xec auszuführen, aber es klappt nicht wirklich, wenn ich danach das Data-Register auslese, ist das Ergebnis immer 0xff bzw. 255.

So mache ich das:

outb(ataPositions[i][ataRStatus], ataCIdentify);

int j = 0;
for(; j < 128; j++){
uint32_t x = inb(ataPositions[i][ataRData]);
echo("[%d] %d: %d", i, j, x);
}

mit:#define ataRData 0
#define ataRStatus 7

#define ataCIdentify 0xec

int ataPositions[ataSize][ataDeviceSize] = {
{0x1f0, 0x1f1, 0x1f2, 0x1f3, 0x1f4, 0x1f5, 0x1f6, 0x1f7, 0x3f6},
{0x170, 0x171, 0x172, 0x173, 0x174, 0x175, 0x176, 0x177, 0x376},
{0x1e8, 0x1e9, 0x1ea, 0x1eb, 0x1ec, 0x1ed, 0x1ee, 0x1ef, 0x3ee},
{0x168, 0x169, 0x16a, 0x16b, 0x16c, 0x16d, 0x16e, 0x16f, 0x36e}
};
Also - was mache ich falsch? :(

mfg :)
2
Lowlevel-Coding / Was genau ist ein Sprung?
« am: 15. February 2013, 14:14 »
Ich lese gerade, aber ich verstehe nicht wirklich, was ein Sprung ist... Und anscheinend gibt es auch noch Unterschiede zwischen verschiedenen Sprüngen, also wie weit man springt etc.

Also meine Frage: Was genau ist ein Sprung?

mfg :)
3
Lowlevel-Coding / 0x7e und 0x7f
« am: 09. February 2013, 20:26 »
inb(0x7e) und inb(0x7f) crashen bei mir den Emulator... Das hab ich zufällig beim debuggen rausgefunden, als ich inb einfach irgendwelche Werte übergeben hab...

Warum? Sollte ich die in der inb-Funktion vielleicht sperren oder so? Oder ist das ein Fehler von QEMU?
4
Lowlevel-Coding / Filesysteme
« am: 02. February 2013, 16:18 »
Hi, eventuell möchte ich mich nachher mal daran setzen, meinem OS Zugriff auf eine Festplatte zu geben - einige Fragen habe ich dazu aber noch:

- Hier (http://www.lowlevel.eu/wiki/File_Allocation_Table) steht ja, wie die Festplatten z.B. bei FAT beschrieben werden, aber wie mache ich das? Mit outb an irgendeinem Port? Ich hab keine Ahnung.
- Kann man die Belegung der Bytes nicht auch selbst festlegen? Quasi ein eigenes Filesystem?

mfg :)
5
Lowlevel-Coding / VESA Bios Extensions
« am: 02. February 2013, 15:26 »
Ich hab ehrlich gesagt keine Ahnung davon, aber mich interessieren folgende Dinge:

- Was ist, wenn man statt einem BIOS UEFI hat? Funktioniert das dann auch noch?
- Was ist mit anderen Auflösungen, als denen, die in der Liste stehen? Wie ist es überhaupt möglich, z.B. 1920x1080 Pixel darzustellen?
- Wie kann man, falls vorhanden, eine Grafikkarte dazu ausnutzen, die Pixel zu berechnen?
6
Lowlevel-Coding / Zeit
« am: 01. February 2013, 21:46 »
Sorry, das ich so viel frage, aber ich würde gerne wissen, wie ich herausfinde, wie spät es ist, also Zugriff auf die Systemzeit bekomme... Ich glaube, ein Unix-Timestamp wäre gut...

Im Wiki finde ich dazu nichts  :?
7
Lowlevel-Coding / Keyboard Controller Capslock
« am: 01. February 2013, 20:57 »
Hi,

wie kann ich überprüfen, ob Capslock an ist?

Und wie geht das gleiche für Numlock und "Rollen" ?

mfg

Achso: Noch eine Frage: Wie unterscheide ich Tasten, die die gleichen Keycodes haben, also z.B. Num 8 und die Pfeiltaste nach oben, oder "Entf" und "Num Komma"? Oder ganz komisch: "num /" und "-"?
8
Lowlevel-Coding / ß usw. ausgeben
« am: 01. February 2013, 18:56 »
Hi :)

Frage: Wie gebe ich nicht-ASCII-Zeichen wie ß,ä,ö,ü usw, aus?
9
Lowlevel-Coding / Keyboard Controller - register_intr_handler?
« am: 01. February 2013, 14:48 »
Beim Tutorial im Wiki, wie man auf die Tastatur zugreift, wird die Funktion register_intr_handler genutzt... Ich weiß allerdings nicht, was diese anstellen soll, wenn man im Wiki danach sucht, ist das Keyboard Controller-Tutorial das einzige Ergebnis... :S

Könnt ihr mir helfen?
10
OS-Design / WebKit
« am: 24. January 2013, 16:54 »
Ich hab eine Frage: Könnte man ein OS schreiben, das nichts macht, außer Bildschirmfüllend WebKit auszuführen? So rein theoretisch?
11
Lowlevel-Coding / Interrupts funktionieren nicht
« am: 23. January 2013, 17:38 »
Hi, ich habe jetzt versucht interrupts zu "empfangen", aber auch wenn ich mich ans Tutorial gehalten habe, es passiert einfach nichts, und ich hab auch eine Idee, warum: Ich nutze ja
#define IDT_ENTRIES 256
static long long unsigned int idt[IDT_ENTRIES];

static void idt_set_entry(int i, void (*fn)(), unsigned int selector, int flags)
{
    unsigned long int handler = (unsigned long int) fn;
    idt[i] = handler & 0xffffLL;
    idt[i] |= (selector & 0xffffLL) << 16;
    idt[i] |= (flags & 0xffLL) << 40;
    idt[i] |= ((handler>> 16) & 0xffffLL) << 48;
}
So etwas, um die Interrupts zu "leiten".

Woher soll aber der PC wissen, dass er bei einem Interrupt ausgerechnet in "idt" nachgucken soll? Ich meine, ich könnte das ja auch umbenennen und nicht idt sondern "eierkuchen" oder so nennen. Das ist doch eigentlich nur ein Array der da so im Code "rumgammelt"... oder?
12
Lowlevel-Coding / Global Descriptor Table
« am: 23. January 2013, 15:08 »
Ich bin mittlerweile bei Teil 5 des Tutorials angelangt und weiß nun wirklich überhaupt nicht mehr weiter.

Ich verstehe nicht, wozu die GDT überhaupt genutzt wird bzw. von wem.
Zweite Frage: Kann man quasi gleichzeitig im Protected Mode und im Real Mode sein?
Woran erkenne ich, in welchem Mode ich gerade bin?

OK, die GDT besteht aus Segementen, in die ich irgendwas reinschreiben muss - aber WIESO? Informationen WORÜBER?
13
Das Wiki / Positives Feedback
« am: 22. January 2013, 20:29 »
Ich finde das Wiki (und auch das Forum) echt toll, super im Wiki erklärt und bei Fragen sind alle echt hilfsbereit im Forum!
14
Lowlevel-Coding / outb
« am: 22. January 2013, 19:52 »
Hier (http://www.lowlevel.eu/wiki/Textausgabe) ist beim Cursor-Verschieben-Beispiel eine Funktion "outb" angegeben, die ich 1. nicht verstehe und die 2. nicht vorhanden ist...

Woher bekomme ich die? :)

mfg! :-P
15
Lowlevel-Coding / Qemu
« am: 22. January 2013, 13:16 »
Hi, ich bräuchte Hilfe bei der Bedienung von Qemu.

Ich hab mir die Version 1.3.0 für Windows geladen und jetzt hab ich folgenden Ordner:



Welches davon brauche ich? Und wie nutze ich das dann?  :?
16
Lowlevel-Coding / File not found
« am: 21. January 2013, 21:44 »
Ich habe bis jetzt C usw. nur in einem "Compiler+Editor-Paket" genutzt.

Jetzt habe ich mit diesen makefiles so meine Probleme: SRCS = $(shell find -name '*.[cS]') funktioniert nicht, es kommt "File not found", obwohl ich eine .c und eine .S-Datei habe...

Was mache ich falsch?
Seiten: [1]

Einloggen