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

Seiten: [1]
1
Lowlevel-Coding / Re: int 10 geht nicht?
« am: 28. March 2010, 22:32 »
Danke, das hat jetzt funktioniert! Aber nachdem hier oben davon gesprochen wurde, das man doch alles selbst Programmieren soll, kommt nun meine nächste Frage. Kann ich meine Eingaben direkt über bestimmte Hardwarepunkte abfragen? Also hat die Tastatur eine bestimmte Adresse, sowie die Grafikkarte? Wenn nicht, ist es tatsächlich nur über IRQ’s möglich, was ich dann nicht ganz verstehe, da doch auch diese sich auf irgendwas beziehen müssen, oder?

Gruß, Satyria
2
Lowlevel-Coding / Re: int 10 geht nicht?
« am: 27. March 2010, 09:23 »
So, jetzt hab ich das ganze ohne Int versucht, aber leider bekomme ich keine Anzeige:

[Bits 32]
global _start

_mbh:
dd 0x1BADB002
dd 0x00010000
dd 0xE4514FFE
dd 0x00100000 + _mbh
dd 0x00100000
dd 0x00100000 + _end
dd 0x00100000 + _end
dd 0x00100000 + _start

_start:
    mov ah, 0x07
    mov esi, msg
    mov edi, [PutStr_Ptr]
.nextchar:
    lodsb
    test al, al         
    jz .end     
    stosw
    jmp .nextchar
.end:
ende:
jmp ende

PutStr_Ptr dd 0xb8000
msg db 'mein Kernel!!!!!!!!!!!!!',0

_end:

Wo mache ich da meinen Fehler (Wahrscheinlich übersehe ich da was)

Gruß, Satyria
3
Lowlevel-Coding / Re: int 10 geht nicht?
« am: 26. March 2010, 21:16 »
Ach, wie umständlich :-(

Es ist schade, das die Biosfunktionen nicht genutzt werden können. Das hätte es ja viel einfacher gemacht. Oder gibt es da noch andere Möglichkeiten?

Gruß, Satyria
4
Lowlevel-Coding / Re: int 10 geht nicht?
« am: 26. March 2010, 19:20 »
Danke für die Antwort. Aber gibt es einen Möglichkeit mit Grub in den Real Mode zu wechseln?

Gruß, Satyria
5
Lowlevel-Coding / int 10 geht nicht?
« am: 26. March 2010, 17:29 »
Hallo

Nachdem ich es endlich geschafft habe, dass ich einen Kernel unter nasm und Grub zum laufen gebracht habe, kommt nun eine neue Frage auf. Ist INT 10 nicht verfügbar? Ist es nicht eine BIOS-Funktion, die eigentlich gehen müsste?

Hier mein Code, den ich mit NASM kompiliere:

[Bits 32]
global _start

_mbh:
dd 0x1BADB002
dd 0x00010000
dd 0xE4514FFE
dd 0x00100000 + _mbh
dd 0x00100000
dd 0x00100000 + _end
dd 0x00100000 + _end
dd 0x00100000 + _start

_start:
jmp start

msg db 10,'mein Kernel!!!!!!!!!!!!!',13,10,0

start:

mov si, msg
call print_string

ende:
jmp ende

print_string:
mov ah, 0x0E

.loop_start:
lodsb
test al, al
jz .done
int 0x10
jmp .loop_start

.done:
ret

_end:

Als Ergebnis passiert nichts.  :cry:

Gruß, Satyria
6
Lowlevel-Coding / Re: Kernel von Festplatte laden
« am: 25. March 2010, 20:41 »
Hallo,

also, gemacht hab ich bisher hier über lowlevel (hätte ich doch, leider kannte ich es nicht!!!!) noch nichts. Ich hatte bisher Anleitungen, die nur über Floppys gingen. Ich hab mir da auch schon gedacht, dass es über einen Bootloader, wie z.B. Grub gehen müsste. Allerdings habe ich diese nicht zum Laufen gebracht. Bei nachfragen hies es immer, das zunächst ein Treiber geschrieben werden müsste, damit das Program überhaupt funktioniert.

Ich hab es jetzt so wie hier gemacht und Grub als Bootloader verwendet. Es geht! Super! Allerdings hab ich irgendwie mein Ubuntu zerstört und musste es nochmal installieren und Grub downgraden, aber jetzt läufts! Vielen Dank!

Gruß, Satyria
7
Lowlevel-Coding / Re: Kernel von Festplatte laden
« am: 24. March 2010, 12:06 »
Danke, für Deine Antwort!

Wie ich Grub zum Starten der Partition bekomme, kenne ich. Allerdings waren meine Versuche bisher vergeblich. Wenn ich die Fehlermeldungen richtig gelesen habe, versteht das System die Partition als solche nicht. Eine Formatierung in FAT32, EXT2 + 3, usw. hat da bisher nicht geholfen. Ich denke, dass hier der Kernel entsprechend angepasst werden müsste, oder? Wobei dieser Kernel zunächst nur einen Text ausgeben soll.

Gibt es eigentlich keine Anleitung, die man zunächst 1:1 nachbaut, um zu sehen, wie es auf dem eigenem System funktioniert? Dazu würde ich sogar auf Emulatoren verzichten. Es ist schon ärgerlich, wenn man sehr viel Zeit investiert und es bisher noch nicht mal gesehen hat, dass es funktioniert.

Liebe Grüße, Satyria
8
Lowlevel-Coding / Kernel von Festplatte laden
« am: 23. March 2010, 22:11 »
Hallo,

ich habe eine Festplatte, die ich jederzeit nach meinen Bedürfnissen ändern kann. Ich verwende eh GRUB als Bootloader um mei Windows und entsprechendes Linux zu starten. Nun meine Frage: wie kann ich GRUB so einstellen, dass er mir meinen selbst erstellten Kernel auf einer Partition startet. Hier wird immer wieder auf Floppys hingewiesen, die ich aber nicht habe. Wie muss die Partition am besten aussehen. Eventuell gibt es irgendwo im Internet eine Beschreibung, wie man sowas macht.

Gruß Satyria
Seiten: [1]

Einloggen