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

Seiten: 1 2 [3]
41
Lowlevel-Coding / Ende meines C-Kernels??
« am: 20. December 2005, 15:21 »
Hi
Wie kann ich die Adresse, an der mein Kernel im Speicher aufhört, in eine Variable speichern. (bzw. erstmal herrausfinden)??
42
Lowlevel-Coding / C/C++ - Kernel ruft keine Funktionen auf :(
« am: 10. December 2005, 09:42 »
Hi
Ich hab folgenden Code:
#include "bootio.hpp"
#include "types.hpp"

namespace boot
{

char *VRAM = (char*)0xB8000;
//Werte
WORD _position = 0;
BYTE _color    = 0x07;

//-----------------------------------------------------------------------------------

void clrscr()
{
 for(int i=0; i<(80*25*2); i+=2)
 {
  VRAM[i  ] = ' ';
  VRAM[i+1] = _color;
 }
 _position = 0;
}

//-----------------------------------------------------------------------------------

void gotoxy(WORD x, WORD y)
{
 _position = (y*25+x)*2;
}

//-----------------------------------------------------------------------------------

void setcolor(BYTE color)
{
 _color = color;
}

//-----------------------------------------------------------------------------------
//-----------------------------------------------------------------------------------

void print(char *string)
{
 int i=0;

 do
 {
  VRAM[_position  ] = '#';//string[i];
  VRAM[_position+1] = 0xEC;//_color;
 
  i++;
  _position += 2;
 }
 while(string[i-1] != 0);
 
 return;
}

}

#include "types.hpp"
#include "bootio.hpp"

int main()
{

char *VRAM = (char*)0xB8000;
VRAM+=4;
*VRAM = '['; //Geht
VRAM++;
*VRAM = 0xEC;

 boot::gotoxy(1, 1);
 boot::setcolor(0x0A | 0x80); //0x80 == Blinken
 boot::print("Test"); // Text wird nicht ausgegeben
 

VRAM++;
*VRAM = ']'; //Geht auch
VRAM++;
*VRAM = 0xEC;
 
 return 0;
}


Die main-Funktion wird zwar ausgeführt, aber die Funktionen werden nicht durchgegangen...

Wo liegt der Fehler??

Kompilieren tu ich so:
gpp -c -nostdlib -fno-builtin -fno-rtti -fno-exceptions -o d:\reos\_ckernel\bootio.obj d:\reos\_ckernel\bootio.cpp
gpp -c -nostdlib -fno-builtin -fno-rtti -fno-exceptions -o d:\reos\_ckernel\kernelc.obj d:\reos\_ckernel\kernelc.cpp

Und das ist meine link.txt:
OUTPUT_FORMAT("binary")
INPUT(d:\reos\_ckernel\kernelexe.obj d:\reos\_ckernel\kernelc.obj d:\reos\_ckernel\bootio.obj)
ENTRY(start)
SECTIONS
{
  .text  0x11E00 :
  {
    code = .; _code = .; __code = .;
    *(.text)
    . = ALIGN(1);
  }
  .data  :
  {
    data = .; _data = .; __data = .;
    *(.data)
    . = ALIGN(1);
  }
  .bss  :
  {
    bss = .; _bss = .; __bss = .;
    *(.bss)
    . = ALIGN(1);
  }
  end = .; _end = .; __end = .;
}


Was mache ich falsch??
43
OS-Design / Was muss ich jetzt machen??
« am: 01. December 2005, 12:54 »
Hi
Ich habe bin jetzt im PMODE. Wie soll es jetzt weiter gehen??

Ziele:
singel user system
GUI: Textbasiert (in C++) (aber mit !!Bitmap!!-Fonts)
Singeltasking

und noch ne Frage zum Singeltasking-modus:
Mein System soll eigentlich nur als CD/MP3-Player- Taschenrechner- oder Notizbuchersatz dienen, und nicht wirklich so großartige dinge wie MenuetOS o.ä. systeme können.
aber wie geht das mit den Treibern??
44
Lowlevel-Coding / Textausgabe im PMODE??
« am: 04. November 2005, 20:05 »
Hi
Ich befinde mich jetzt im PMODE. Wie kann ich da Texte ausgeben??
Interrupts sind ja ausgeschaltet.
45
Offtopic / Ich möchte ein OS schreiben: kann ich das??
« am: 30. October 2005, 15:45 »
Wie der Titel schon sagt, möchte ich langsam mal anfangen ein OS zu schreiben.

Folgende dinge kann ich:
C/C++ (Seit ~3 Jahren (Scheibe zZ eine Textverarbeitung für rtf-Dateien))
Assembly (Grundkentnisse, aber komme gut mit klar -> kann schnell dazulehrnen)

meine Fragen:
1. Reicht das?? (wenn ich noch die Theorie z.b. dieser Seite durcharbeite)
2. Es würde reichen, wenn mein OS nur SingelTasking fähig währe. aber: ist Multitasking viel schwerer/mehr, oder lohnt sich der mehraufwand??
3. Was empfehlt ihr mir für entwichlungssoftware: (bochus/rawwrite/fasm ist klar, aber welcher Compiler?? gcc??)
Seiten: 1 2 [3]

Einloggen