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

Seiten: 1 2 3 [4] 5 6 ... 30
61
Das Wiki / Wird es Lowlevel als Magazin noch geben?
« am: 29. March 2005, 14:29 »
Warum machen wir nicht doch einfach ein OS im laufe des Magazins?
Man einigt sich einfach auf gewisse Spezifikationen, so das jeder einen Teil dazu programmieren und dokumentieren kann. Und das wird dann schrittweise im Magazin veröffentlicht.

Wie sich immer wieder zeigt können viele leider nix mit den Ausschnitten anfangen, sondern brauchen viel mehr etwas "größeres" das aus einzelteilen zusammengebaut ist um deren Funktionsweise unterweinander zu verstehen.
62
Das Wiki / Wird es Lowlevel als Magazin noch geben?
« am: 20. March 2005, 03:51 »
lol das hört sich fast wie eine Erpressung an.

Ich sags mal umgekehrt:
Wie viele Leute haben schon angekündigt etliche Tuts zu schreiben. UNd bisher kamen nur 2 oder 3 Stück.......
63
Offtopic / Doppelt verkettete Listen in C
« am: 19. March 2005, 16:06 »
Hier mal Code von mir den ich immer wieder leicht modifiziert als verlinkte Liste benutze. Ist zwar C++ aber sollte man recht einfach in C umschreiben können bei bedarf.


#ifndef LINKEDLIST_H
#define LINKEDLIST_H

//###############################################################################

typedef struct _listitem
{
_listitem *pPrev;
void *pData;
_listitem *pNext;
}LISTITEM;

//###############################################################################

class CLinkedList
{
private:
LISTITEM *pFirst;
LISTITEM *pLast;

void DeleteAll();

public:
CLinkedList();
~CLinkedList();
void AddItem(LISTITEM *pItem);
void AddFirstItem(LISTITEM *pItem);
void RemoveItem(LISTITEM *pItem);

LISTITEM *GetNextItem() { return(this->pFirst); }

};

//###############################################################################

#endif



#include "stdafx.h"
#include "LinkedList.h"

//###############################################################################

CLinkedList::CLinkedList()
{
this->pFirst = NULL;
this->pLast = NULL;
}

//###############################################################################

CLinkedList::~CLinkedList()
{
if(this->pFirst != NULL)
this->DeleteAll();
}

//###############################################################################

void CLinkedList::AddItem(LISTITEM *pItem)
{
pItem->pNext = NULL;
pItem->pPrev = NULL;

if(this->pFirst == NULL)
{
this->pFirst = pItem;
this->pLast = pItem;
}
else
{
pItem->pPrev = this->pLast;
this->pLast->pNext = pItem;
this->pLast = pItem;
}
}

//###############################################################################

void CLinkedList::AddFirstItem(LISTITEM *pItem)
{
if(this->pFirst == NULL)
{
this->pFirst = pItem;
this->pLast = pItem;
}
else
{
pItem->pNext = this->pFirst;
this->pFirst->pPrev = pItem;
this->pFirst = pItem;
}
}

//###############################################################################

void CLinkedList::DeleteAll()
{
LISTITEM *pItem;

pItem = this->pFirst;

while(pItem != NULL)
{
if(pItem->pNext == NULL)
{
if(pItem->pData != NULL)
delete(pItem->pData);

delete(pItem);

break;
}
else
{
pItem = pItem->pNext;

if(pItem->pPrev->pData != NULL)
delete(pItem->pPrev->pData);

delete(pItem->pPrev);
}
}

this->pFirst = NULL;
this->pLast = NULL;
}

//###############################################################################

void CLinkedList::RemoveItem(LISTITEM *pItem)
{
if(pItem == this->pFirst)
{
this->pFirst = this->pFirst->pNext;

if(this->pFirst != NULL)
this->pFirst->pPrev = NULL;

if(pItem->pData != NULL)
delete(pItem->pData);

delete(pItem);

}
else if(pItem == this->pLast)
{
this->pLast = pItem->pPrev;
this->pLast->pNext = NULL;

if(pItem->pData != NULL)
delete(pItem->pData);

delete(pItem);
}
else
{
pItem->pPrev->pNext = pItem->pNext;
pItem->pNext->pPrev = pItem->pPrev;

if(pItem->pData != NULL)
delete(pItem->pData);

delete(pItem);
}
}

//###############################################################################
[/quote]
64
OS-Design / Softwaretasking <> TSS
« am: 06. March 2005, 22:20 »
Ne ne.
Sobald du einen Int aufrufst der in den Ring 0 springt, benutzt der Prozessor automatisch das TSS um daraus ESP für Ring 0 zu laden.
65
OS-Design / Softwaretasking <> TSS
« am: 06. March 2005, 20:20 »
Also wenn ich mich recht erinnere, dann brauchst du ein TSS, weil dort der ESP der Stacks für den switch in den Ring 0 gespeichert ist, denn der Task benötigt wenn er Kernel-Ints aufruft.
66
Offtopic / EAX in C lesen
« am: 28. February 2005, 18:14 »
Nein.

du deklarierst:
extern UINT GetMemSize();

und dann rufst du auf:

int main()
{
  unsigned int Mem;
  Mem = GetMemSize();
}

fertig.
Musst halt sehen das die ASM-Datei zu der C-Datei hinzugelinkt wird
67
Offtopic / EAX in C lesen
« am: 28. February 2005, 15:24 »
Dann ruf die Funktion doch einfach von C auf aus.
Der Rückgabewert ist immer in EAX gespeichert.
68
Offtopic / EAX in C lesen
« am: 28. February 2005, 01:58 »
Warum willst du denn den Wert von EAX in eine Variable speichern?

Vielleicht sagst du mal was du "als ganzes" vor hast. Dann kann man dir dazu vielleicht auch ne Lösung sagen.
69
Offtopic / Problem in C
« am: 25. February 2005, 15:50 »
Ich habs so gelöst, das ich eine extra Variable habe die "Buch" darüber führt, an welcher Stelle sich der Cursor derzeit befindet.


char* pVideoMem = (char*)0xB8000;
unsigned int iVideo_ptr = 0;

void TextOut(char *pText, char cColor)
{
while(*pText)
{
if(*pText == '\r')
{
iVideo_ptr = (iVideo_ptr / 160) * 160;
}
else if(*pText == '\n')
{
iVideo_ptr = (((iVideo_ptr / 160) + 1) * 160) + (iVideo_ptr % 160);
}
else if(*pText == '\t')
{
iVideo_ptr += 8;
}
else
{
pVideoMem[iVideo_ptr] = *pText;
iVideo_ptr++;
pVideoMem[iVideo_ptr] = cColor;
iVideo_ptr++;
}

pText++;
}
}

70
Offtopic / API im abgesicherten Modus
« am: 09. February 2005, 19:18 »
Im Abgesicherten Modus werden einfach nur die absolut notwendigsten Treiber und Dienste geladen die das System zum starten braucht. Die API sollte daher in vollem Umfang zur Verfügung stehen, mit Ausnahme derer Dinge die spezielle Treiber/Dienste erfordern die eben nicht geladen wurden.
71
Das Wiki / VESA-Tutorial (noch sehr primitiv)
« am: 08. February 2005, 23:31 »
Als schnellen Einstieg finde ich echt gut gelungen. Jedoch hast du ein paar kleine Fehler die vielleicht etwas verwirrung stiften könnten :)

Du schreibst:
"Die Funktion dazu hat die Nummer “0x4F00” welche im Prozessorregister “ax” stehen sollte."

Das ist zwar nicht falsch, aber du solltest vielleicht schon schreiben, das der Wert im AX-Register stehen MUSS und nicht SOLL :)
Weil im BX-Register wird er wohl nix bringen. Und jemand der nit so fit ist könnte vielleicht meinen das es egal ist in welchem Register der Wert steht. Ist vielleicht etwas kleinlich aber das viel mir halt auf.

Ansonsten finde ich das Tut wirklich gelungen :)
Hoffe man liest weiteres von dir.
72
Lowlevel-Coding / Include bei NASM
« am: 08. February 2005, 23:24 »
Sag mal bescheid ob es daran dann lag.
Hilft dann vielleicht auch anderen.
73
Lowlevel-Coding / Include bei NASM
« am: 08. February 2005, 17:40 »
Du solltest dabei beachten das include an die richtige Stelle zu setzen.
Das Include bewirkt meines wissens nach das der Inhalt der datei direkt in die Datei kopiert wird.

Solltest du also das Include ganz an den Anfang setzen, wird der Code er includierten Datei zuerst ausgeführt was wohl zu dem ungewünschtem Effekt führt.
74
Offtopic / Versuche aus meinem Studium
« am: 08. February 2005, 15:59 »
FH Friedberg

Informations- und Kommunikationstechnik
75
Offtopic / Versuche aus meinem Studium
« am: 07. February 2005, 14:53 »
So nun sind auch ein paar Versuche aus dem Bereich Digitaltechnik online :)
76
Das Wiki / Neue Seite online
« am: 06. February 2005, 19:40 »
Wieso denn nicht mehr gern gesehen? Solange sie ihren Zweck erfüllen?
Und dem User kann es ja wurst sein wie es realisiert ist, sofern es angenehm zu benutzen ist.

Als ob man Frames einfach so abschaffen würde, nur weil es CSS und Co gibt...... :D
77
Offtopic / Versuche aus meinem Studium
« am: 06. February 2005, 17:35 »
Ich hab mal die ersten beiden Versuch inklusive Ausarbeitungen des Fachs Mikrocomputertechnik auf meiner HP online gestellt.

Wer interesse hat kann es sich ja mal anschauen und ggf. hier was dazu schreiben bzw. fragen.
78
Das Wiki / Neue Seite online
« am: 06. February 2005, 14:12 »
Naja geht nicht gibts nicht Roshl :)

Eine Möglichkeit wäre, das du bei externen Tutorials eine Seite mit 2 Frames generieren lässt. Das eine Frame zeigt das Bewertungssystem und das andere Frame verlinkt auf die externe Seite.
79
Offtopic / Problem mit Windows Media Player
« am: 05. February 2005, 13:12 »
Versuch mal neue Codecs zu installieren.
80
Das Wiki / Neue Seite online
« am: 05. February 2005, 00:28 »
Die Magazine sind nach wie vor vorhanden....falls du es übersehen hast.

Alles in allem ist es jetzt übersichtlicher geworden.
Seiten: 1 2 3 [4] 5 6 ... 30

Einloggen