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.


Nachrichten - Lizer

Seiten: [1] 2
1
Lowlevel-Coding / GRUB/Multiboot.
« am: 15. February 2005, 10:27 »
Das Format ist tar.bz2 (sieht man auch in der Status-Leiste wenn der Cursor über'm Link ist). Windows vermurkst grundsätzlich alle doppelten Dateiendungen, also einfach in midgard.tar.bz2 umbenennen, falls die Datei nach dem Download nicht so heißt.
2
Lowlevel-Coding / Grub Gdt
« am: 11. February 2005, 08:43 »
3
Lowlevel-Coding / GRUB/Multiboot.
« am: 07. February 2005, 11:15 »
Auf www.buha.info/projects/midgard findest du das OS an dem ich grad arbeite. Wird problemlos von GRUB gebootet. Interessant sind für die die Dateien init.c und entry.s sowie das Makefile, in dem die Compile- und Link-Anweisungen stehen.

Have fun!

Lizer
4
Lowlevel-Coding / Delta Nanocore
« am: 07. January 2005, 15:26 »
Die Kontrolle an den Kernel abzugeben ist auch so möglich, unter Linux z.B. mit usleep(1); Wenn sich ein Prozess nämlich schlafen legt, macht der Kernel logischerweise mit dem nächsten Prozess weiter. Das Beispiel usleep(1) legt den Prozess für eine Microsekunde schlafen. D.h. wenn der Kernel sonst nichts zu tun hat (z.B. andere Prozesse ausführen), kann der Prozess nach einer Mikrosekunde weiter ausgeführt werden, was nicht wirklich ein Geschwindigkeitsverlust ist.
5
Lowlevel-Coding / reboot oder auschalten
« am: 09. September 2004, 13:24 »
Im Pm klappt das nicht (sollte zumindest nicht). Im PM benutzt du den Keyboard Controller zum resetten. Siehe Ralf Browns Liste PORTS.A
6
Lowlevel-Coding / Merkwürdiges Problem
« am: 09. September 2004, 08:29 »
Hast du mal die Cursor-Werte überprüft, die du bekommst? Wenn die Werte außerhalb des vidmems sind, ist es kein Wunder wenn du nichts siehst. Im allgemeinen ist es sowieso besser, eine Variable für den Cursor anzulegen, als die Werte jedesmal auszulesen.
Zitat
while (_message != 0) {
*vidmem = _message[i++];
vidmem += 2;
}
Was'n das? Mach doch aus vidmem lieber ein unsigned short Array und berechne die werte mit (zeichen | 0x0700). Mir fällt grad auf, dass du das Charcter Byte zuerst schreibst. Versuch es mal mit _message[++i] oder eben mit unsigned short.
7
Lowlevel-Coding / Son-n scheiss!
« am: 08. September 2004, 12:58 »
Um sicher zu gehen, dass dein Loader für (hoffentlich) alle BIOSs in Ordnung ist, besorg dir Ralf Browns Interrupt Liste (googlen) und überprüfe darin alle Interrupts, die du verwendest. In der Liste ist vermerkt, wenn ein Interrupt bei manchen BIOSs was anderes/unerwartetes/... macht.
8
Lowlevel-Coding / Merkwürdiges Problem
« am: 08. September 2004, 12:53 »
Der Fehler liegt in writeln() oder clrscr(). Poste die doch mal. Benutzt du eine Varibale für die Zeichenattribute? Hast du vergessen, nach dem Bildschirmleeren wieder einen sichtbaren Wert einzustellen? Könnte der Wert sonst wie verändert worden sein? Liegt er in einer Header? Wenn ja, schreib ihn in eine .C-Datei und greife nur über Funktionen darauf zu, die in der selben Datei sind. Niemals das "extern" vergessen. Das alles gilt auch für die Variable in der du die Cursor-Position speicherst.

Wie gesagt, poste deine clrscr() und die writeln(), dann kann man dir besser helfen.
9
Lowlevel-Coding / Feldvariable
« am: 19. April 2004, 09:33 »
Da es hier um OSDev geht, denke ich mal dass du das für ein OS brauchst. In diesem Fall wird das ganze nämlich sowieso nicht funzen, da INT 0x21 von DOS bereit gestellt wird und folglich nicht vorhanden ist, wenn DOS nicht gestartet ist.
10
Lowlevel-Coding / Suche Compiler für flachen Binärcode
« am: 14. April 2004, 12:52 »
Nicht GCC? Probier mal DJGPP :D
Ansonsten probier ma MingW, der hat sogar 'ne IDE soviel ich weiß.
11
Lowlevel-Coding / IDE für Assembler.... Habt ihr Tips ?
« am: 14. April 2004, 12:50 »
Unter Linux kann ich für ASM nur FTE empfehlen. Korrekte (und sinnvolle) Syntax-Hervorhebung sowie Einrückung vorhanden, Compiler bzw. Assembler lässt sich ebenfalls integrieren, sodass man aus dem Editor heraus assemblen kann.
Unter Windows würde ich mit NASM-IDE arbeiten.
12
Lowlevel-Coding / Bootsector Diskettte Formatieren?
« am: 14. April 2004, 12:47 »
Noch ein Tipp: Mir hat es früher, als ich noch mit FAT12-Disketten gearbeitet habe, geholfen, zuerst den Kernel auf die Diskette zu kopieren und _danach_ den Bootsektor draufzuschreiben.
13
Lowlevel-Coding / code geht nicht...
« am: 08. April 2004, 15:20 »
Habs nicht getestet, weiß also nicht, ob's funzt:

mov si, 0x32000000 ; von 0x3200:0000 lesen
lodsb ; byte lesen
mov di, DEIN_STRING_POINTER
stosb ; schreiben

...falls du das gemeint hast. Dein Text ist echt etwas schwer zu verstehen.
14
Lowlevel-Coding / INT-Nr innerhalb des Handlers rauskriegen
« am: 08. April 2004, 15:05 »
Noch 'ne allgemeine Frage: Nach dem Initialisieren der PICs sehe ich in Beispielen immer, dass zuerst 0x20 und dann 0x07 an beide PICs geschickt wird. Ersteres ist ja das ACK, wozu zu aber 0x07?
15
Lowlevel-Coding / INT-Nr innerhalb des Handlers rauskriegen
« am: 08. April 2004, 12:36 »
Guten Tag erstmal!

Da ich ziemliche Probleme mit meinen Interrupts hab (sti -> reset) und eigentlich alles stimmen müsste, will ich einen Interrupt-Handler schreiben, der einfach nur die Nummer des aufgerufenen Interrupts ausgibt, um rauszukriegen, welcher (evtl. nicht existente) Handler für den Absturz zuständig ist. Weil ich nicht unbedingt 256 INT-Handler schreiben will, wollte ich mal wissen, ob beim auslösen eines Interrupts die entsprechende Nummer irgendwo (irgendein Register, cr0, cr1 etc. oder sonstwas) gespeichert wird, so dass ich suie nur noch auslesen und ausgeben muss. Weiß jemand was darüber?

Danke im Voraus,

Lizer.
16
Offtopic / lowlevel Promotion ?
« am: 22. March 2004, 21:22 »
Ich denke, bevor man im großen Stil Werbung macht, sollte man der Seite noch ein professionelles Design verpassen. Soll keine Kritik sein, aber was nützt die Werbung, wenn der potenzielle regelmäßige Leser beim ersten Besuch denkt, "Wie, nur eine Seite und dann noch so komische Farben... ich hau ab" ;) Außerdem sollte man vielleicht vorher dafür sorgen, dass die Ausgaben regelmäßig erscheinen.

Ach ja, von wegen Bannertausch: Gibt es überhaupt ein LowLevel-Banner?
17
Lowlevel-Coding / Ausführen und Speicher...
« am: 21. March 2004, 10:46 »
Boah, der Arbeitsspeicher ist mit Sicherheit kein Quadrat. Es nur einfach so, dass du mit einem Word (2 Bytes) max. Speicherstelle 65535, was grad mal ~64K wären. Nicht genaug? Genau! Daher nimmt man noch es dazu, und schon hat man 'n Double (4 Bytes), um Speicher zu addressieren: 0xFFFFFFFF -> 4G Speicher addressierbar. So, jetzt trink ich Kaffee.
18
Lowlevel-Coding / Treiber aus dem Kernel laden
« am: 20. March 2004, 22:20 »
Haste dran gedacht, 0x20 an Port 0x20 zu schicken, um den IRQ zu bestätigen? Wenn'de das nicht machst, denkt der PC, du hast den IRQ nicht gekriegt und schickt ihn nochmal.
19
Lowlevel-Coding / Treiber aus dem Kernel laden
« am: 18. March 2004, 13:25 »
Um den Treiber zu laden, brauchst du erstmal ein Dateisystem. Ich würde aber sowieso empfehlen, das Teil direkt in den Kernel zu schreiben. Wenn du PMode machen willst, auf jeden Fall Port 60. Wenn dann jemand eine Taste drückt, wird ein Interrupt ausgelöst. Den musst du vorher mit einer Routine verbinden (IDT) die die Taste dann von Port 60 & 64 ausliest. Muss also nix "im Hintergrund laufen".

In RM brauchswt nicht wirklich 'n Treiber, es reicht wenn du 'ne Routine zur Verfügung stellst (getch), die per int 16 ah = 0 'ne Taste ausliest und den Wert zurückliefert. Dass int 16 ah 0 blockiert ist wurst oder sogar wünschenswert, da Multitasking im RMode eh nicht geht und daher keine anderen Prozesse durch das Warten auf die Taste behindert werden. Auf getch kannste dann alle anderen Funktionen aufbauen.
20
Lowlevel-Coding / Bochs unter Linux-Console
« am: 17. March 2004, 16:28 »
Tach!

Erstmal folgendes: Kann's sein, dass das Board 'n paar Tage (etwa 4 - 5) nicht erreichbar war? Kam mir etwas seltsam vor.

Und jetzt zur Frage: Weiß jemand, wie ich Bochs unter der Linux-Console zum Laufen kriege? Hab kein Bock, mir meine eh schon lahme Kiste mit XFree vollzuknallen.
Seiten: [1] 2

Einloggen