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

Seiten: [1] 2 3 ... 15
1
Offtopic / Dümmste Forumdiskussionen
« am: 07. January 2006, 13:37 »
Obwohl man dieses Problem nicht mit TCPA-Chips lösen sollte!
2
Offtopic / Microsoft macht unabhänige Analysen über Linux....
« am: 04. January 2006, 14:07 »
Zitat von: Microsoft
NOTE: Windows XP and Linux can coexist on the same computer. For additional information, refer to your Linux documentation.


:D
3
Offtopic / Microsoft macht unabhänige Analysen über Linux....
« am: 04. January 2006, 13:17 »
Ich habe die Executive-Email (Newsletter) von Microsoft abonniert. Steve Ballmer oder so hat da schon vor vielen Wochen Vorteile und (vor allem) Nachteile von Open Source Software aufgezeigt. Ist nix neues, dass sie Linux als Konkurrent ernst nehmen und auch dementsprechend Entscheidungen treffen. Im Server-Bereich ist Linux ja eigentlich voraus.
4
Lowlevel-Coding / FDC-Probleme
« am: 03. January 2006, 14:01 »
Also, ich vermute, dass das Problem daran liegt, dass ein Befehl (Seek, ReadSector) noch am abarbeiten ist, während ich schon den nächsten schicke. Sollte doch aber nicht?! Ich warte ja auf den Interrupt. Ist zum Zeitpunkt von dessen Auslösung die Operation noch nicht beendet?

volatile BYTE operationDone = 0;

BYTE ReadSectors(WORD startSector, WORD count, void* target)
{
BYTE cylinder, head, sector;
WORD i;

for(i = 0; i < count; i++, target += 512)
{
OutByte(0x1C, 0x03F2);      /* Motor starten */

LBAToCHS(startSector + i, &cylinder, &head, &sector);

PrepareDMAWrite(2, target, 512);

FloppyOutByte(0x0F);
FloppyOutByte(head);
FloppyOutByte(cylinder);

WaitForFloppy();

FloppyOutByte(0x46);      /* Sektor lesen */
FloppyOutByte(head << 2); /* Head */
FloppyOutByte(cylinder);  /* Cylinder */
FloppyOutByte(head);      /* Head */
FloppyOutByte(sector);    /* Sector */
FloppyOutByte(2);         /* Sektorengrösse */
FloppyOutByte(18);        /* Sektoren pro Spur */
FloppyOutByte(0x1B);
FloppyOutByte(0xFF);

WaitForFloppy();

OutByte(0x04, 0x03F2);

PrintChar('!');
}

return ERROR_NO;
}

void FloppyOutByte(BYTE value)
{
while(1)
{
if(InByte(0x3F4) & 0x80 == 0)
InByte(0x80);
else
{
OutByte(value, 0x03F5);
return;
}
}
}

void WaitForFloppy()
{
while(operationDone == 0);
operationDone = 0;
}
5
Wie wärs mit

void main()
{
   char Text[] = "Welcome to Protected Mode";  
   char *VideoMem = (char*)0xB8000;  

   for(i = 0; Text[i] != 0; i++)
   {
      VideoMem[i] = Text[i];
      VideoMem[++i] = 7;
   }
}


?

EDIT: Ob der Assembler-Code stimmt, weiss ich auch nicht. Ist er schon so weit gekommen?
6
Lowlevel-Coding / FDC-Probleme
« am: 02. January 2006, 23:27 »
Wenn ich mehrere Sektoren nacheinander einlesen will, geht das nicht. Einer allein geht.

Bochs meldet, dass ein Befehl noch Pending ist, obwohl ich vor dem Schreiben ins Datenregister immer überprüfe, ob es bereit ist.

In anderen Treibern habe ich gesehen, dass nach vielen Befehlen (Motor an, Motor aus) ein Delay kommt. Muss man dieses unelegantes Zeugs auch einbauen?

Hier der Code:

volatile BYTE operationDone = 0;

BYTE ReadSectors(WORD startSector, WORD count, void* target)
{
BYTE cylinder, head, sector;
WORD i;

for(i = 0; i < count; i++, target += 512)
{
while(InByte(0x03F4) & 0x80 == 0);
OutByte(0x1C, 0x03F2);      /* Motor starten */

LBAToCHS(startSector + i, &cylinder, &head, &sector);

PrepareDMAWrite(2, target, 512);
/*
while(InByte(0x03F4) & 0x80 == 0);
OutByte(0x0F, 0x03F5);
while(InByte(0x03F4) & 0x80 == 0);
OutByte(head, 0x03F5);
while(InByte(0x03F4) & 0x80 == 0);
OutByte(cylinder, 0x03F5);
*/
while(InByte(0x03F4) & 0x80 == 0);
OutByte(0x46, 0x03F5);      /* Sektor lesen */
while(InByte(0x03F4) & 0x80 == 0);
OutByte(head << 2, 0x03F5); /* Head */
while(InByte(0x03F4) & 0x80 == 0);
OutByte(cylinder, 0x03F5);  /* Cylinder */
while(InByte(0x03F4) & 0x80 == 0);
OutByte(head, 0x03F5);      /* Head */
while(InByte(0x03F4) & 0x80 == 0);
OutByte(sector, 0x03F5);    /* Sector */
while(InByte(0x03F4) & 0x80 == 0);
OutByte(2, 0x03F5);         /* Sektorengrösse */
while(InByte(0x03F4) & 0x80 == 0);
OutByte(18, 0x03F5);        /* Sektoren pro Spur */
while(InByte(0x03F4) & 0x80 == 0);
OutByte(0x1B, 0x03F5);
while(InByte(0x03F4) & 0x80 == 0);
OutByte(0xFF, 0x03F5);

WaitForFloppy();

while(InByte(0x03F4) & 0x80 == 0);
OutByte(0x00, 0x03F2);
PrintChar('!');
}

return ERROR_NO;
}

void WaitForFloppy()
{
while(operationDone == 0);
operationDone = 0;
}
7
Lowlevel-Coding / Neues Problem--> Bios int 13h/ LBA-->CHS
« am: 02. January 2006, 20:19 »
Zitat von: T0ast3r
ojemine...
hmmm...

Ich wusst nicht das jeder 19te Sektor wieder auf der anderen Seite leigt, nur das bei einer Diskette 18 Sektoren pro Spur Standart ist.

(...)


Ist eigentlich logisch, da die beiden Lese-/Schreibköpfe nicht unabhängig voneinander bewegt werden können. So kann das Lesen und Schreiben beschleunigt werden.

Leider wird das in den Tutorials viel zu wenig betont, ich habe das auch lange nicht gewusst.
8
Lowlevel-Coding / FDC-Probleme
« am: 02. January 2006, 15:23 »
Ich dachte, Bit 2 stünde für den Reset.
_verwirrung_
Also kann ich beides in einem Befehl machen?
9
Lowlevel-Coding / PM Switch
« am: 02. January 2006, 12:53 »
Mir scheint, dass etwas am Codesegment-Deskriptor nicht stimmt. Ist wahrscheinlich versehentlich ein Gate-Deskriptor. Wo tritt der Fehler auf?
10
Offtopic / Linux-PC
« am: 02. January 2006, 11:51 »
Ich schaue mich bei eBay nach einem günstigen PC mit Linux-kompatibler Hardware. Welche technischen Daten sollte der haben, dass ich einigermassen (oder besser) damit arbeiten kann?

Ich werde wahrscheinlich Ubuntu benutzen, wäre aber froh, wenn jede Distro laufen würde.

Reicht so ein Pentium III mit 256 MB RAM und 10 GB HD?
11
Lowlevel-Coding / Neues Problem--> Bios int 13h/ LBA-->CHS
« am: 02. January 2006, 11:26 »
Folgende Formel benutze ich immer:

cylinder = lbaSector / 36
head = (lbaSector / 18) % 2
sector = lbaSector % 18 + 1


18 entspricht hier der Anzahl Sektoren pro Spur. 36 natürlich Anzahl Sektoren pro Spur mal Anzahl Köpfe.
12
Lowlevel-Coding / FDC-Probleme
« am: 02. January 2006, 11:19 »
Ich habe einige Probleme mit der Programmierung des FDC. Zum Testen will ich den Bootsektor einlesen.

Schon ganz am Anfang komme ich nicht weiter. Ich mache einen Reset des FDC, danach starte ich den Motor des ersten Laufwerks. Ich warte dann, bis der FDC bereit ist, Befehle entgegenzunehmen. Ist er aber nie...

Out8Bit(0x0C, 0x03F2);      /* Reset */
Out8Bit(0x18, 0x03F2);      /* Motor starten */
while(In8Bit(0x03F4) != 0x80);


Das Auslesen von Port 0x03F4 gibt immer folgendes Resultat: Bit 7 nicht gesetzt (Datenregister nicht bereit) und Bit 4 gesetzt (FDC beschäftigt).
13
Lowlevel-Coding / Diskette: int 13h im PM
« am: 31. December 2005, 12:16 »
Zitat von: bitmaster
Ich habe oft gelesen, dass man DMA nicht benutzen sollte. Ich verstehe aber nicht warum. Hat das einen Nachteil? Geht das überhaupt ohne?


Das interessiert mich auch! Welches Register müsste man dann auslesen, um über P I/O an Daten zu kommen? 0x03F5?
14
Offtopic / Eure Meinung zur kath. Kirche
« am: 28. December 2005, 13:42 »
Zitat von: SebE
Zitat
Beispiel:
Galileo Galilei (glaub ich) hat rausgefunden, dass die Erde NICHT im Mittelpunkt steht, sondern die Sonne.
Was hat man gemacht, man hat ihm verboten weiter zu forschen (oder zumindest seine Werke zu veröffentlichen)
"Böse Kirche!" -> einfach den Fortschritt aufhalten wollen (was sie aber niemals schaffen wird)

@elfish_rider: Was ist mit dir - glaubst du an die Urknall-Theorie?


1.
Galileo hatte es mit einer katholischen Kirche zu tun, wie ich sie hasse. Sie hatte damals ihren Hofastronomen (oder sowas) Galileos Entdeckungen überprüfen lassen. Der ist zum Schluss gekommen, dass sie stimmen! Trotzdem sah sich die Kirche an ihren Weltbild gerüttelt und wollte es nicht zugeben! Ich empfehle sehr das Drama "Leben des Galilei" von Bertolt Brecht, hat viele historische Fakten.

2.
Ja. Aber nur so als Beispiel, die Physiker können nicht erklären, was vor dem Urknall war. Es gibt zwar ultramoderne, hochkomplizierte Theorien, aber die versteh ich nicht, die sind komplizierter als Glaube und Kirche ;)
15
Lowlevel-Coding / GRUB, Linking
« am: 28. December 2005, 13:25 »
Mein Linker unterstützt ELF nicht. :(

Edit:

Es ist jetzt gegangen, ich musste nur die Grösse der Daten im Multiboot-Header ändern. Ich weiss aber nicht, wie ich das eintragen soll, ich weiss ja erst nach dem Kompilieren, wie gross die BIN wird...

Edit:

Ich habe jetzt eifach am Schluss eine ASM dazugelinkt, die nur ein Symbol hat. Dessen Adresse wird dann eingetragen. Total unelegant. Sorry für den blöden Thread, ich hasse diese Linkerfiles eifach...;)

Edit:

Wieso funktioniert das nicht?  :(

link.txt
OUTPUT_FORMAT("binary")
SECTIONS
{
  . = 0x100000;
  .text : { *(.text) }
  .data  : { *(.data) }
  .bss  : { *(.bss) }
  Ending = SIZEOF(.text+.data);
}
INPUT(start1.o start2.o text.o)


.asm (Auszug)
DD Ending
16
Lowlevel-Coding / GRUB, Linking
« am: 28. December 2005, 13:21 »
Ich habe Probleme mit dem Linken eines GRUB-konformen Kernels. Ich hatte diese Linkerfiles noch nie im Griff:

Link.txt
OUTPUT_FORMAT("binary")
INPUT(start1.o start2.o)
SECTIONS
{
  . = 0x100000;
  .text : { *(.text) }
  .data  : { *(.data) }
  .bss  : { *(.bss) }
}


Ich weiss, da fehlt noch viel.

start.asm
CPU 386
BITS 32

EXTERN _start
GLOBAL Start

MULTIBOOT_PAGE_ALIGN   equ 1<<0
MULTIBOOT_MEMORY_INFO  equ 1<<1
MULTIBOOT_AOUT_KLUDGE  equ 1<<16

MULTIBOOT_HEADER_FLAGS equ MULTIBOOT_PAGE_ALIGN | MULTIBOOT_MEMORY_INFO | MULTIBOOT_AOUT_KLUDGE
CHECKSUM               equ -(0x1BADB002 + MULTIBOOT_HEADER_FLAGS)

ALIGN 4

MultibootHeader:
DD 0x1BADB002
DD MULTIBOOT_HEADER_FLAGS
DD CHECKSUM
DD MultibootHeader
DD 0x00100000
DD 0x00200000
DD 0x00200000
DD Start

Start:
  CALL _start
  JMP $


GRUB akzeptiert das nicht. Ich müsste noch irgendetwas bei der Data-Section ändern, weiss aber nicht was.
17
Offtopic / Eure Meinung zur kath. Kirche
« am: 28. December 2005, 13:06 »
Ich finde es schade, dass manche kommen und Dinge aus dem Glauben mit Wissenschaft zu erklären. Das Geht einfach nicht. Natürlich gibts irgendwo Verstrickungen, siehe Stern von Bethlehem.

Aber was so meine Meinung ist:

1. Die Wissenschaft ist (jetzt nicht auf Religionen bezogen) nicht falsch. Sie kann gar nicht falsch sein. Aber sie weiss nicht alles.

2. Sobald Gläubige in einer Gemeinschaft sind, gibts immer Dinge, die dann nichts mehr mit Glauben, sondern eher mit Abzockerei, Eintrichterung etc. zu tun haben (dasselbe gilt bei Völkern / Staaten).

3. Für eine einzelne Person kann der Glaube sehr viel bringen. Vielleicht braucht es dazu nicht unbedingt eine Kirche/Organisation, bringt vielleicht aber doch Vorteile. Es geht nicht darum, dass dasjenige nun wissenschaftlich bewiesen ist. Und wenn jemand damit glücklich ist, was solls? Glaube hat auch viel mit Selbsterkenntnis zu tun.

4. Die Bibel ist auch Literatur. Da können Fundamentalisten und Kreationisten sagen was sie wollen. Sie wiederspiegelt Kultur und Weltbild vergangener Zeit. Sie hat etwas mythisches. Das mit den sieben Tagen als REAL anzusehen, finde ich sehr, sehr naiv.

5. Ich glaube an Gott und bin Mitglied der protestantischen Kirche. Ich glaube auch, dass die Welt nur aus Materie besteht (Atome, Elementarteilchen). Keine Ahnung wie das nebeneinander geht, aber geht :D
18
Offtopic / GRUB und Open Source
« am: 28. December 2005, 11:16 »
Kann man GRUB auch ein Nicht-Open-Source-oder-GPL-OS laden lassen?
19
Offtopic / RAID 1 -> Non-RAID
« am: 28. December 2005, 11:02 »
Hallo,

ich habe zwei Festplatten am PCI-RAID-Controller angeschlossen. Sie laufen im RAID 1 (Mirroring). Kann ich nun eifach die Festplatten trennen und am normalen SATA-Anschluss anschliessen und habe dann Zugriff auf die Daten? Oder sind die irgendwie verschlüsselt oder mit Zusatzinfos geschrieben?
20
Offtopic / Eure Meinung zur kath. Kirche
« am: 28. December 2005, 10:59 »
Ich bin auch für eine absolute Trennung von Staat und Kirche. Nur so ist Religionsfreiheit garantiert. (Im Iran steht das geistliche Oberhaupt noch über dem Präsidenten.)

Dieser Bischof meinte nur, dass die Kirche zu fundamentalistisch werden, d.h. extreme Ansichten bekommt, den Gläubigen immer sagt, was sie tun sollen und lassen usw.
Seiten: [1] 2 3 ... 15

Einloggen