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

Seiten: 1 [2] 3
21
Lowlevel-Coding / Re: kbc hilfe
« am: 11. July 2013, 09:30 »
Vielen Dank!
Als erstes nehm ich mal den Bios-buffer(das kann ich ja später noch ändern!).
Wie fülle ich ihn auf und wie lese ich ihn aus?
Vielen Dank,
Mineorbit
Edit:
Das mit der zweiten Switch funtkion und ersten verstehe ich noch nicht.
die Funktion getsym, die den array list nutzt, soll ich weglassen, abeer list soll ich auffüllen,wofür?
Dede eh jetzt so aus:
#include "console.h"
#include "keyboard.h"
#include "stdint.h"
static uint8_t sc_to_kc[][128] = {
{ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 84, 00, 00, 86, 87, 88, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00 },  { 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 96, 97, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 99, 00, 00, 100, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 102, 103, 104, 00, 105, 00, 106, 00, 107, 108, 109, 110, 111, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00 }, };
uint8_t translate_scancode(int set, uint16_t scancode)
{
uint8_t keycode = 0;
switch (set) { 
case 0:
 keycode = sc_to_kc[0][scancode];
 break;
case 1:
  keycode = sc_to_kc[1][scancode];
 break;
   switch (scancode) {
  case 0x451D: keycode = 119; break; default: keycode = 0x0; }; break; }
if (keycode == 0) {
 } return keycode;
}
 
void init_keyboard(void);
static void keyboard_command(uint8_t command);
void keyboard_interrupt(void);
void init_keyboard(void)
{
 
    while (inb(0x64) & 0x1) {
        inb(0x60);
    }   
 
 
    keyboard_command(0xF4);
}
 
static void keyboard_command(uint8_t command)
{
   
    while ((inb(0x64) & 0x2))
{
}
    outb(0x60, command);
}
void keyboard_interrupt(void){
     
    uint8_t scancode;
    int keycode;
    uint8_t break_code = 0;
 
    // Status-Variablen fuer das Behandeln von e0- und e1-Scancodes
    static int     e0_code = 0;
    // Wird auf 1 gesetzt, sobald e1 gelesen wurde, und auf 2, sobald das erste
    // Datenbyte gelesen wurde
    static int      e1_code = 0;
    static uint16_t  e1_prev = 0;
 
    scancode = inb(0x60);
 
    if ((scancode & 0x80) &&
        (e1_code || (scancode != 0xE1)) &&
        (e0_code || (scancode != 0xE0)))
    {
        break_code = 1;
        scancode &= ~0x80;
    }
 
    if (e0_code) {
        if ((scancode == 0x2A) || (scancode == 0x36)) {
            e0_code = 0;
            return;
        }
 
        keycode = translate_scancode(1, scancode);
        e0_code = 0;
    } else if (e1_code == 2) {
     /*
        e1_prev |= ((uint16_t) scancode <<;
        keycode = translate_scancode(2, e1_prev);
        e1_code = 0;
*/
    } else if (e1_code == 1) {
       
        e1_prev = scancode;
        e1_code++;
    } else if (scancode == 0xE0) {
        // Anfang eines e0-Codes
        e0_code = 1;
    } else if (scancode == 0xE1) {
        // Anfang eines e1-Codes
        e1_code = 1;
    } else {
        // Normaler Scancode
        keycode = translate_scancode(0, scancode);
       
    }
     
        if(break_code == 0)
 {
 
        kprintf("%c",keycode);
  }
        else
 {
       
 }     
}
 
 
Vielen Dank,
Mineorbit
22
Lowlevel-Coding / Re: kbc hilfe
« am: 10. July 2013, 17:24 »
Vielen Dank für die Hilfe :lol:
Denn Array füll ich jetzt erstmal aus,wie gesagt.
Die funktion herunterfahren also kexit läuft, nur weiß ich nicht wie ich einzelne Tasten abfrage ob sie gedrückt wurden.Das würde ich später auch noch gerne in ein treiber reinbringen. Wie würde ich so ein lese-char machen? Ich hab das mal so versucht,dass ich alles in einen array eintragen lasse und das dann ausgebe,aber meine kprintf funktion kann noch keine arrays zurück geben. ich wollte erstmal nur in der test.bin,die ich umfunklt habe in console.bin umfunktioniert habe, mache ich nur gerade ein kommandozeile draus!
Vielen Dank,
Mineorbit
23
Lowlevel-Coding / kbc hilfe
« am: 04. July 2013, 21:22 »
Hallo lowlevel community!
Hoffentlich störe ich euch nicht mit dem Thema,allerdings habe ich 3 Fragen zur kbc:
1:Zeichen ausgeben
Letztes mal habe ich euch gefragt wie man den Keycode die Zeichen umwandle, allerdings, kann es sein das irgendwas falsch mache.
Das ganze funktioniert doch so; scancode -> Keycode -> Zeichenkette ?
Wie trage ich die Zeichen richtig in den Array ein?
Das ist jetzt so bisher:
#include "console.h"
#include "keyboard.h"
#include "stdint.h"
char list[] = {
"01"
};
char getsym(int keycode)
{
if(keycode == 0x1c)
{
kexit();
}
  return list[keycode];
}
}
static uint8_t sc_to_kc[][128] = {
{ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 84, 00, 00, 86, 87, 88, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00 },  { 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 96, 97, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 99, 00, 00, 100, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 102, 103, 104, 00, 105, 00, 106, 00, 107, 108, 109, 110, 111, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00 }, }; 
uint8_t translate_scancode(int set, uint16_t scancode)
{
uint8_t keycode = 0;
switch (set) { 
case 0:
 keycode = sc_to_kc[0][scancode];
 break;
case 1:
  keycode = sc_to_kc[1][scancode];
 break;
   switch (scancode) {
  case 0x451D: keycode = 119; break; default: keycode = 0x0; }; break; }
if (keycode == 0) {
 } return keycode;
}
 
void init_keyboard(void);
static void keyboard_command(uint8_t command);
void keyboard_interrupt(void);
void init_keyboard(void)
{
 
    while (inb(0x64) & 0x1) {
        inb(0x60);
    }   
 
 
    keyboard_command(0xF4);
}
 
static void keyboard_command(uint8_t command)
{
   
    while ((inb(0x64) & 0x2))
{
}
    outb(0x60, command);
}
void keyboard_interrupt(void){
     char text;
    uint8_t scancode;
    int keycode;
    uint8_t break_code = 0;
 
    // Status-Variablen fuer das Behandeln von e0- und e1-Scancodes
    static int     e0_code = 0;
    // Wird auf 1 gesetzt, sobald e1 gelesen wurde, und auf 2, sobald das erste
    // Datenbyte gelesen wurde
    static int      e1_code = 0;
    static uint16_t  e1_prev = 0;
 
    scancode = inb(0x60);
 
    if ((scancode & 0x80) &&
        (e1_code || (scancode != 0xE1)) &&
        (e0_code || (scancode != 0xE0)))
    {
        break_code = 1;
        scancode &= ~0x80;
    }
 
    if (e0_code) {
        if ((scancode == 0x2A) || (scancode == 0x36)) {
            e0_code = 0;
            return;
        }
 
        keycode = translate_scancode(1, scancode);
        e0_code = 0;
    } else if (e1_code == 2) {
     /*
        e1_prev |= ((uint16_t) scancode <<;
        keycode = translate_scancode(2, e1_prev);
        e1_code = 0;
*/
    } else if (e1_code == 1) {
       
        e1_prev = scancode;
        e1_code++;
    } else if (scancode == 0xE0) {
        // Anfang eines e0-Codes
        e0_code = 1;
    } else if (scancode == 0xE1) {
        // Anfang eines e1-Codes
        e1_code = 1;
    } else {
        // Normaler Scancode
        keycode = translate_scancode(0, scancode);
       
    }
      text = getsym(keycode);
        if(break_code == 0)
 {
 
        kprintf("%c",text);
  }
        else
 {
       
 }     
}
 

2:Speziell Zeichen abfragen
Im Code steht:
if(keycode == 0x1c)
{
kexit();
}
kexit habe ich als Funktion gemacht um den PC runter zu fahren
Damit möchte ich erreichen ,dass beim Tasten druck von Enter der Computer heruntergefahren wird, dies funktioniert aber nicht,wie würde ich das Problem lösen?
3:Lesechar
Ansonsten, hätte jemand von euch einen Denk anstoß um ein char namens kreadf() zu machen?Das wäre spitze  :grin:
Freundliche Grüße,
 Mineorbit!
EDIT:
3 ist gelöst,ich hatte nur einen syntaxfehler gemacht.
 
24
Lowlevel-Coding / Re: kbc scancode translate
« am: 02. June 2013, 18:25 »
Danke Jidder für die Hilfe!
Das ganze funktioniert jetzt.
Hätte nur noch eine Frage:Wie packe ich das ganze an besten in eine funktion wie readf(); für meinen Userring?
Ich hatte mir das so gedacht, dass ebx im syscall ein boolean übergeben wird an das Kernel um eine read funktion im kernel ein zuleiten.
Bitte korigier mich wenn ich falsch liege.


Danke für die Hilfe
Mineorbit
25
Lowlevel-Coding / Re: kbc scancode translate
« am: 02. June 2013, 15:25 »
Danke Jidder für deine Hilfe,
Mit dopplunsfehler meine ich ,dass ich den scancode und den keycode(oder was auch immer mir da an komischen zeichen für den kezcode ausgegeben wird) immer doppelt zurück  bekomme.
Ansonsten wenn ich deine Char einbinde, gibt mir der Compiler aus :

keyboard.c:14:13: error: subscripted value is neither array nor pointer nor vector
Ansonsten sehr großen Dank(Ich hätte nie gedacht, dass es überhaupt bei mir mit den irq's klappt)
Mineorbit


26
Lowlevel-Coding / Re: kbc scancode translate
« am: 01. June 2013, 17:10 »
Danke Jidder,
sowas ähnliches hatte ich mir schon gedacht, nur wie mach ich dann dazu nochmal die Funktion die zu den keycodes die richtigen zeichen raus sucht und wie behebe ich diesen doppelzeichen fehler?
Mineorbit
27
Lowlevel-Coding / Re: kbc scancode translate
« am: 31. May 2013, 11:05 »
Inzwischen funktioniert es halbwegs,
allerdings bekomme ich falsche Zeichen zurück.
#include "console.h"
#include "keyboard.h"
#include "stdint.h"

static uint8_t sc_to_kc[][128] = {
{ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 84, 00, 00, 86, 87, 88, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00 },  { 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 96, 97, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 99, 00, 00, 100, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 102, 103, 104, 00, 105, 00, 106, 00, 107, 108, 109, 110, 111, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00 }, };  uint8_t translate_scancode(int set, uint16_t scancode)
{
uint8_t keycode = 0;
switch (set) { 
case 0:
 keycode = sc_to_kc[0][scancode];
 break;
case 1:
  keycode = sc_to_kc[1][scancode];
 break;
   switch (scancode) {
  case 0x451D: keycode = 119; break; default: keycode = 0x0; }; break; }
if (keycode == 0) {
kprintf("kbc: Unbekannter Scancode: 0x%x (%d)\n", scancode, set); } return keycode;
}
 
void init_keyboard(void);
static void keyboard_command(uint8_t command);
void keyboard_interrupt(void);
void init_keyboard(void)
{
 
    while (inb(0x64) & 0x1) {
        inb(0x60);
    }   
 
 
    keyboard_command(0xF4);
}
 
static void keyboard_command(uint8_t command)
{
   
    while ((inb(0x64) & 0x2))
{
}
    outb(0x60, command);
}
void keyboard_interrupt(void){
   uint8_t scancode;
    uint8_t keycode = 0;
    uint8_t break_code = 0;
 
    // Status-Variablen fuer das Behandeln von e0- und e1-Scancodes
    static int     e0_code = 0;
    // Wird auf 1 gesetzt, sobald e1 gelesen wurde, und auf 2, sobald das erste
    // Datenbyte gelesen wurde
    static int      e1_code = 0;
    static uint16_t  e1_prev = 0;
 
    scancode = inb(0x60);
 
    // Um einen Breakcode handelt es sich, wenn das oberste Bit gesetzt ist und
    // es kein e0 oder e1 fuer einen Extended-scancode ist
    if ((scancode & 0x80) &&
        (e1_code || (scancode != 0xE1)) &&
        (e0_code || (scancode != 0xE0)))
    {
        break_code = 1;
        scancode &= ~0x80;
    }
 
    if (e0_code) {
        // Fake shift abfangen und ignorieren
        if ((scancode == 0x2A) || (scancode == 0x36)) {
            e0_code = 0;
            return;
        }
 
        keycode = translate_scancode(1, scancode);
        e0_code = 0;
    } else if (e1_code == 2) {
        // Fertiger e1-Scancode
        // Zweiten Scancode in hoeherwertiges Byte packen
        e1_prev |= ((uint16_t) scancode <<;
        keycode = translate_scancode(2, e1_prev);
        e1_code = 0;
    } else if (e1_code == 1) {
        // Erstes Byte fuer e1-Scancode
        e1_prev = scancode;
        e1_code++;
    } else if (scancode == 0xE0) {
        // Anfang eines e0-Codes
        e0_code = 1;
    } else if (scancode == 0xE1) {
        // Anfang eines e1-Codes
        e1_code = 1;
    } else {
        // Normaler Scancode
        keycode = translate_scancode(0, scancode);
    }
        // Zum Testen sollte folgendes verwendet werden:
 kprintf("%c",keycode);
        //Nach erfolgreichen Tests, könnte eine send_key_event Funtkion wie bei Týndur verwendet werden
}

 
Ich bedanke mich jetzt schon für eure Hilfe
Mineorbit
Edit:
Bis jetzt bin ich noch einmal das Tutorial durchgegangen, und alles bis auf die Funktion register_intr_handler ist fertig. Wo genau müsste ich diese Funktion einbauen, und wie müsste sie aussehen?
Ich danke schon jetzt ffür Antworten
Mineorbit
28
Lowlevel-Coding / Re: kbc scancode translate
« am: 30. May 2013, 22:10 »
translate_scancode in dem KBC Beispiel ist eine C Funktion wie jede andere.
Natürlich musst du die selber deklarieren und definieren.

Und im Artikel steht ausdrücklich:
Zitat
Dieses Codestück unternimmt genau die oben beschriebenen Schritte. Die Funktion „translate_scancode“ übersetzt, wie oben im Kommentar angegeben, die Scancodes in interne Keycodes der Code dazu findet sich ebenfalls im tyndur-Repositoryhttp://git.tyndur.org/?p=tyndur.git;a=blob;f=src/modules/kbc/sc2kc.c. Es handelt sich dabei aber nur um eine mögliche Umsetzung und keineswegs um die einzig mögliche, hier muss man sich selbst überlegen wie das für den konkreten Anwendungsfall am komfortabelsten ist.

Du siehst lesen lohnt sich! :lol:
Ja du hast recht!
Allerdings erhalte ich nach dem einfügen den Fehler wie vorher vom Compiler
Mineorbit
29
Lowlevel-Coding / kbc scancode translate
« am: 30. May 2013, 21:35 »
Hallo Low Level Community,
Wie im Betreff steht, würde ich gerne den scancode ,den ich erhalte ,translaten.
Dazu habe ich in eurem zu gehörigen Tutorial gleich hilfe gefunden,die aber irgendwie nicht funktioniert,
GCC sagt mir:
keyboard.c: In function ‘keyboard_interrupt’:
keyboard.c:31:9: warning: implicit declaration of function ‘translate_scancode’ [-Wimplicit-function-declaration]
keyboard.c: At top level:
keyboard.c:34:9: error: conflicting types for ‘translate_scancode’
keyboard.c:31:24: note: previous implicit declaration of ‘translate_scancode’ was here

Mein Code:
//Keyboard.c
#include "console.h"
#include "keyboard.h"
#include "stdint.h"

void init_keyboard(void);
static void keyboard_command(uint8_t command);
void keyboard_interrupt(void);
void init_keyboard(void)
{
 
    while (inb(0x64) & 0x1) {
        inb(0x60);
    }   
 
 
    keyboard_command(0xF4);
}
 
static void keyboard_command(uint8_t command)
{
   
    while ((inb(0x64) & 0x2))
{
}
    outb(0x60, command);
}
void keyboard_interrupt(void){
 int scancode = inb(0x60);
        char keycode = translate_scancode(1,scancode);
 kprintf("%c",keycode);
}
 
 
Falls euch das hilft ohne die Funktion translate, gibt er mir bei z.B als scancode aus:1c 9c
Mein Frage wäre:
-muss ich uint8 translate_scancode speziell programmieren, oder ist das eine fertige Funktion aus dem Compiler oder einer Header file?
-Hab ich irgendwas mit den scancodes falschgemacht?
 

 
Ich freue mich auf Antworten!
Mineorbit

 
30
Wie hast du am Ende das Problem gelöst?
Kannst du den Code posten?
Das wäre sehr nett,
Mineorbit
31
Softwareentwicklung / Re: String mit Syscall übergeben
« am: 18. May 2013, 10:03 »
Vielen Dank es hat geklappt!
Mineorbit
32
Softwareentwicklung / String mit Syscall übergeben
« am: 17. May 2013, 21:58 »
Hallo Lowlevelcommunity!,
Inzwischen stelle ich hier viel zu viele Fragen(die zum größten teil sinnlos sind).
Aber diesmal habe ich eine Frage bei der ich nicht mehr weiter weiß:
Es gibt ja die Funktion syscall die durch Softwareinterrupt 0x30 auslgelößt wird.
Nur kann ich dadurch bissher nur Interger übergeben. Wie kann ich nun andere Typen übergeben?
Viele Grüße und Danke für die bissherigen Antworten,
Mineorbit
33
Naja,dass ist bei mir ungefähr so:
50% Skripte(PHP, Perl, Html, Jscript)
10% Daten in DB
15%Plesk Panel
13%OS(Also das Server betriebsystem)
Der Rest: 12% und die brauch ich noch!
Naja Github hab ich mir jetzt zugelegt
Danke für den Tipp
Mineorbit
 
34
1.Wär zwar cool auf nem Server aber ich hab nur wenig storage und auf dem muss ich meine seite halten.
2.das Problem hat sich gelöst
(Ich fänd es toll wenn die von euch die sich mit webentwicklung auskennen meine seite bewerten:
http://www.netbox-studio.com/creative)
35
Softwareentwicklung / SoftwareInterrupt in idt eintragen
« am: 15. May 2013, 17:44 »
Hallo Low Level Community,
Im letzten Thread habe ich euch gefragt wie man einen Syscall einrichtet, was dann auch geklappt hat.
Nachdem ich vor einer halben Stunde meinen PC eingeschaltet habe ist er abgestürzt und ich musste meine Systemwiederherstellung anschmeißen.(Mein eigentliches Betriebssystem ist Windows 7 darin aber in meinem Emulator ubuntu).Jetzt sind fast alle meine Dateien weg,einschließlich meines ordner in dem ich das kernel und test.bin untergebracht habe.Jetzt habe ich mir alles nachgedownloadet habe, ist nun der Interrupt Softwareinterrupt 0x30 weg. Wo genau müsste ich den nochmal nachtragen? also in welcher Datei und in welcher zeile?
Mineorbit
 
36
Softwareentwicklung / Re: Paging Error 14
« am: 15. May 2013, 15:17 »
Vielen Dank!
Das hätte sich dann auch erledigt!
Wie schließe ich diesen Thread?
Vielen Dank nocheinmal!
Mineorbit
37
Softwareentwicklung / Re: Paging Error 14
« am: 14. May 2013, 18:33 »
Hat sich schon erledigt! Hab gerade gemerktdas das falsch war.
 :lol:
Edit:Wie würde man den einen solchen Systemcall machen?
38
Softwareentwicklung / Re: Paging Error 14
« am: 14. May 2013, 16:41 »
Danke das du mich korrigiert hast, Svenska!
Ja, ich rede ziemlich viel Schwachsinn aber ich muss mich noch sehr weit ins Thema einarbeiten.
Ich hätte noch eine Frage:Kann ich im test.bin im 3.Ring auf Funktionen des kernels, wie kprintf zugreifen,und wenn wie?
 
Vielen Dank für die Hilfe!
 
39
Softwareentwicklung / Re: Paging Error 14
« am: 12. May 2013, 18:53 »
 :grin: Ich glaube diesmal hats funktioniert!
Er hat mir nichtmehr die Exception ausgegeben sondern:01234
Hoffentlich sollte doch das dabei rauskommen?
Falls es das gewesen ist bin ich euch was schuldig!
40
Softwareentwicklung / Re: Paging Error 14
« am: 12. May 2013, 18:08 »
Wie genau gibt man eax und ebx aus?Wenn müsste das dann doch in start.S?Langsam wird's echt schwierig!
(Gibt es eine Anleitung?)
mineorbit
Seiten: 1 [2] 3

Einloggen