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

Seiten: [1] 2
1
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?
2
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).
3
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.
4
Offtopic / GRUB und Open Source
« am: 28. December 2005, 11:16 »
Kann man GRUB auch ein Nicht-Open-Source-oder-GPL-OS laden lassen?
5
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?
6
Offtopic / iPod super neu
« am: 17. November 2005, 18:10 »
Hallo!

Ich habe mir den iPod der neusten Generation gekauft. Musik rüberspielen geht natürlich problemlos. Nun will ich einerseits DVD-Filme und andererseits Konzertvideos drauftun. iTunes unterstützt das natürlich nicht. Ich habe etwa schon 10 Ripper und 5 Konverter ausprobiert und NIX ist gegangen  :x  :x  :x

HILFE!

Jemand einen guten Tip? Ich habs probiert mit Quicktime Pro, der kann ja MOV erstellen, welche iTunes öffnen kann. Aber dieser will weder DivX noch WMV abspielen. Die VOB-Dateien krieg ich auf den PC. Weiter schaff' ichs nicht. Danke. Gruss.
7
Offtopic / OOP bei Spiel
« am: 06. November 2005, 15:47 »
Hallo.

Ich habe mir einige Klassen für ein 2D-Jump 'n' Run-Spiel gebastelt. Wie kann das folgende Problem elegant lösen?

Ich habe eine Stammklasse, World, von der ich in WinMain eine Instanz erzeuge. Sie beinhaltet u.a. die Klasse Graphics für Grafikfunktionen, sowie Hero für den Helden und bis zu 1024 andere Objekte. Alles läuft problemlos. Nun aber möchte ich (für jedes Frame) die Objekte bewegen lassen (void Object::Move()). Ich werde noch weitere Kreaturentypen hinzufügen, die dann auch primitive KI haben werden. Doch mein Problem ist: Wie können die Objekte auf die Welt (wo befindet sich was; unsigned long *World::world) zugreifen? Muss ich da für jeden Aufruf von Move() einen Zeiger mitgeben? Oder beim Konstruktor des Objekts einen Zeiger auf *world? Ich möchte dieses Problem so lösen, dass ich immer noch eine objektorientiertheit habe, also nicht etwa mit globalen Vars oder so. Danke.

Anmerkung:
- Ich verwende Polymorphie, d.h. ich werde alle Gegner von Object bzw. Creature ableiten
- TEXTURE, WORLD und ähnliches sind enum's


class World
{
public:
World();
~World();
void CalcFrame();
Hero *hero;
private:
void DrawFrame();
unsigned long GetAbsoluteX(D3DXVECTOR2 pos);
unsigned long GetAbsoluteY(D3DXVECTOR2 pos);
unsigned long GetRelativeX(D3DXVECTOR2 pos);
unsigned long GetRelativeY(D3DXVECTOR2 pos);
WORLD GetWorld(unsigned long x, unsigned long y);
void LoadWorld(unsigned long w);
Graphics graphics;
Object *object[1024];
unsigned long worldSize;
unsigned long *world;
float horizScrolling;
STATUS status;
unsigned long progress;
};

class Object
{
public:
Object(D3DXVECTOR2 pos, unsigned long w, unsigned long h);
~Object();
virtual void Move() = 0;
D3DXVECTOR2 pos;
unsigned long width;
unsigned long height;
TEXTURE texture[8];
};

class Item : public Object
{
public:
Item(D3DXVECTOR2 pos, unsigned long w, unsigned long h, OBJECT t);
~Item();
void Move();
OBJECT type;
};

class Creature : public Object
{
public:
Creature(D3DXVECTOR2 pos, unsigned long w, unsigned long h);
~Creature();
};

class Hero : public Creature
{
public:
Hero(D3DXVECTOR2 pos, unsigned long w, unsigned long h);
~Hero();
void Move(WORLD (*world)(unsigned long, unsigned long));
void SpacePressed();
bool jumpActive;
unsigned long jumpCount;
bool keyRight;
bool keyLeft;
};
8
Lowlevel-Coding / Darf der Compiler?
« am: 18. July 2005, 18:41 »
Ich kopiere mit Zeigern eine Struktur in eine andere:

void GetTSS(WORD TaskID, struct TSS* TaskStateSegment)
{
struct TSS* Base = (struct TSS*)(0x20000 + TaskID*100);
*TaskStateSegment = *Base;
}


Der Compiler (gcc 3.4.3) kompiliert das natürlich fehlerfrei, jedoch sagt mir der Linker:

cpu.o(.text+0x16):cpu.c: undefined reference to `_memcpy'


Wieso um alles in der Welt will der eine Funktion der Standardbibliothek aufrufen, wo ich doch "Freestanding-Code" erzeuge???

Kann mir wer sagen, wie ich diese memcpy-Funktion deklarieren soll bzw. wie ich dieses Problem anders lösen könnte...
9
Offtopic / PHP: Warnung
« am: 12. June 2005, 21:06 »
Ich möchte eine Session starten,

session_start();

doch es erscheint eine ärgerliche Warnung,

Warning: open(/tmp\sess_91b9fa6f3bb8e63b8e638c62edfca589, O_RDWR) failed: m (2) in c:\web\apache\htdocs\voc\login.php on line 2


die wahrscheinlich eher was mit den PHP-Einstellungen als wirklich mit Sessions zu tun hat.

Kann mir jemand weiterhelfen??
10
Offtopic / AMD64 Compiler
« am: 27. May 2005, 13:18 »
Kennt jemand einen Windows-Compiler (C), der AMD64 Code erstellt? DJGPP und MinGW unterstützen das scheinbar nicht. Oder kann mir jemand sagen, wie ich gcc (mit DJGPP) kompilieren muss, damit ich einen 64-bit-fähigen Comiler habe?
11
Offtopic / Danger !
« am: 18. May 2005, 13:10 »
Wann und wie stark explodiert eine BIOS-Batterie?
12
Offtopic / Forum
« am: 13. May 2005, 15:56 »
In letzter Zeit ist mir ausgefallen, dass die Zahl der "sinnlosen" Posts in allen Foren etwas gestiegen ist. Ich will hier niemandem einen Vorwurf machen. Jedoch ist es meiner Meinung nach Ehrensache, folgende Regeln einzuhalten. Ich will hier nicht der Polizist spielen, aber einen Thread eröffnen, der solche Angelegenheiten halt mal diskutiert, ich weiss ja nicht was ihr davon hält.

- Keine Doppelposts, wozu ist denn die Bearbeitungsfunktion da? (Natürlich ist es manchmal ärgerlich, wenn man ewig keine Antworten zu einer dringenden Frage erhält, doch zum einen kriegt man so nicht mehr Antworten und zum andern sollten unbeantworteten Threads Beachtung geschenkt werden)

- Keine Posts, die nur einen anderen Post bewerten ("Das war gut", "Das stimmt nicht"), ohne wirklich was zur Diskussion beizutragen

Wenn euch noch mehr einfällt, nur posten, jedefalls finde ich die obigen noch wichtig, dazu käme noch Werbung und so, die ja auch nicht erwünscht ist, aber das sollte jedem klar sein.

Nun noch etwas ganz Persönliches: Mir gefiele noch ein Forum, das einigermassen "normale Sprache" verwenden würde: Schlusspunkt, Grossschreibung, etc. Doch nicht übertreiben, in diesem Post hat's wohl auch einige orthografische Missgeschicke drin...
13
Lyrisches Eck / Eine Saga
« am: 10. May 2005, 20:44 »
Ich erlaube mir, hier noch ein weiteres Gedicht vorzustellen. Wie auch das vorige, ist es erst gerade geschrieben worden und es bedarf sicher noch kleinen Überarbeitungen; jedoch poste ich dieses hier aus aktuellen Gründen.

Eine Saga

Jedermann ins Kino rennt
Das muss man doch gesehen haben
Und wehe wenn mans gar nicht kennt
Hier darf man einfach nicht versagen

Krieg der Sterne hiess es früher
Nun ists als Star Wars weltbekannt
Georgie Lucas der Bemüher
Sodass mans kennt im ganzen Land

Jetzt läuft, wie schon gesagt, Film sechs
Er heisst zwar Episode drei
George war damals ziemlich frech
Und schnitt die Saga just entzwei

Ein düst'rer Abschluss bildet das
Die Bösen gewinnen Oberhand
Die lieben beissen voll ins Gras
Sind zermürbt wie Wüstensand

Doch die Fans, die bleiben Treu
Fanartikel werden viel verkauft
George hat da natürlich Freud
Wurd schon lang zum Milliardär getauft

Wie gehts nun weiter mit den Episoden?
Georgie sagt, jetzt ist mal Schluss
Es laufen schon die nächsten Proben
Klar, dass noch ne Fernsehserie kommen muss

PS. Grundsätzlich könnt ihr mit meinen Gedichten machen was ihr wollt, aber nutzt sie nicht kommerziell bzw. baut sie nicht, ohne mich vorzuwarnen, in euer OS ein ;)
14
Lowlevel-Coding / Arcus(co)sinus
« am: 08. May 2005, 21:22 »
Laut NASM-Dokumentation stellt die FPU eines Intel-Prozessors weder Arcussinus noch Arcuscosinus bereit. Oder doch? Oder muss ich das ganze etwa mit Differenzialrechnung lösen?
15
Lyrisches Eck / Der Fluss
« am: 05. May 2005, 16:23 »
Der Fluss

Reisst der Fluss Dich einfach mit,
Entkommen kannst du so leicht nicht,
Getrieben von den Ungetüm,
Verzweiflung füllt die ganze Seel',
Mit Sehnsucht blickst du an das Ufer,
Wo Paradies herrscht und auch Ruhe,
Zum träumen doch hast keine Zeit,
Der Fluss reisst dich nun meilenweit.

'Ne Insel nun am Horizont,
Zwar noch viele Meter fort,
Wenn du sie dann hast erreicht,
Dein Herz fühlt sich ganz locker, leicht,
Doch die Freud für kurze Dauer nur,
Unter Druck bist immerzu,
Wenn d' nicht weiter gehst sofort,
Die andren wären Meilen fort.

Ein Schreck erscheint am Horizont:
Ein Wasserfall ganz tief und hoch,
Den zu überstehn es also gilt,
Dein Aug' mit Furcht hinüber schielt,
Er ist die ultimate Prob',
Verrückt er tobt und grob,
Doch wenn du ihn überstanden hast,
Vom Herzen weg 'ne grosse Last.

Der Todesschreck nun langsam weicht,
Das Paradies hast nun erreicht,
Du kannst ruhn solang' du willst,
Und wenn du keine Leistung bringst,
Über dich wird keiner walten,
Du wirst auch einmal altern,
Denkt du vor dem Lagerfeuer,
Der Tod nur's nächste Abenteuer.
16
Lowlevel-Coding / Umwandlung 24-bit -> 8 bit
« am: 11. April 2005, 16:58 »
Ich quäle mich gerade mit einem kleinen Stück Code, das in bisher 3 verschiedenen Varianten noch nie funktioniert hat.

Ich möchte eine 24-bit-RGB-Farbe (0xRR, 0xGG, 0xBB) in eine 8-bit(6-bit)-Farbe umwandeln (00BBGGRRb).

struct RGBColor8
{
unsigned Red   :2;
unsigned Green :2;
unsigned Blue    :2;
unsigned Zero  :2;
};

struct RGBColor24
{
BYTE Red;
BYTE Green;
BYTE Blue;
};


Mit dieser Funktion:

void SetPixel(WORD wX, WORD wY, const struct RGBColor24 *pstrColor)
{
struct RGBColor8 bColor;
BYTE *pbColor;
bColor.Red = pstrColor->Red / 64;
bColor.Green = pstrColor->Green / 64;
bColor.Blue = pstrColor->Blue / 64;
bColor.Zero = 0;
pbColor = &bColor;
pbVGAMemory[wY*320 + wX] = *pbColor;
return;
}


Was ist da falsch? Ich habe es auch schon ohne Bitfelder benutzt, einfach mit Shifts und ANDs und ORs und ADDs, aber nie hat's geklappt. Die 8-bit Farbe hat nie mit der 24-bit übereingestimmt.
17
Lowlevel-Coding / Software-INT
« am: 07. April 2005, 13:08 »
Werden bei einem Software-Interrupt die Register nicht verändert? Ich möchte meine API über INT 30h aufrufen können und Parameter über den Stack übergeben.

PS. Wenn ich Pointer als Argumente übergebe, müssen das Far-Pointer sein? Wenn ja, wie werden diese auf den Stack gebracht?
18
Offtopic / Escape to Andromeda
« am: 06. April 2005, 20:36 »
Also, ich (und joachim_neu) mache schon einige Zeit beim Onlinegame "Escape to Andromeda" mit, und ich hatte die Idee, eine Allianz mit Mitgliedern aus diesem Forum zu gründen.
www.etoa.ch
Wahrscheinlich werden viele von hier solche Online-Browsergames primitiv finden, andere vielleicht auch nicht ;)
Wenn sich genug dafür interessieren, starten wir die Sache. Weitere Infos gibts auf der Website.
19
Offtopic / Alte VBE-Standards
« am: 06. April 2005, 12:54 »
Findet man irgendwo die alten VBE-Standards (1.0, 1.1, 1.2, 2.0)? Bei vesa.org habe ich nur den 3.0 gefunden, der bei weitem nicht von allen Grafikkarten unterstützt wird.
20
Lowlevel-Coding / PMode-JMP
« am: 05. April 2005, 17:08 »
Komischerweise funktioniert mein PMode-Jump nicht mehr. Das GDTR wird nämlich nicht richtig geladen. Ich werd nicht schlau aus meinem Code, es liegt sicher an einem lächerlichen Fehler, den irgendwer sofort finden wird:

XOR EAX, EAX ; GDT einrichten, um danach in den PM zu schalten
  MOV DS, EAX
  MOV ES, EAX
  MOV ESI, Desc0
  XOR EDI, EDI
  MOV ECX, EndOfGDT-Desc0
  REP MOVSB
  LGDT [GDT]
  MOV EAX, CR0
  OR EAX, 1
  MOV CR0, EAX
  JMP 8h:PMStart
 
BITS 32

PMStart:
  MOV AX, 2<<3 ; Selektoren zuweisen
  MOV DS, AX
  MOV ES, AX
  MOV AX, 3<<3
  MOV SS, AX
  MOV ESP, 0FFFh
  MOV EBP, ESP

  XOR AL, AL ; Bildschirm löschen
  MOV ECX, 320*200 ; (bei Platzproblemen weglassen)
  MOV EDI, 0A0000h
  REP STOSB
 
  MOV ECX, KERNEL_SIZE*512 ; Kernel von 30000h nach 100000h kopieren
  MOV ESI, 30000h
  MOV EDI, 100000h
  REP MOVSB
 
  JMP 100000h ; Zum Kernel springen, der den Rest initialisiert:
; IDT, IRQs
 
; --------------------
; Daten
; --------------------
 
GDT:
  DW 10000h ; Limit
  DD 0 ; Basisadresse
 
Desc0: ; Null
  DW 0
  DW 0
  DB 0
  DB 0
  DB 0
  DB 0
Desc1: ; Systemcode 0 - 7F F000h
  DW 07FFh
  DW 0000h
  DB 00h
  DB 10011010b
  DB 11000000b
  DB 00h
Desc2: ; Systemdaten 0 - 7F F000h
  DW 07FFh
  DW 0000h
  DB 00h
  DB 10010010b
  DB 11000000b
  DB 00h
Desc3: ; Temp. Stack
  DW 00FFFh ; Grösse 4 KB
  DW 8000h ; Basis 8000h
  DB 00h
  DB 10010010b
  DB 01000000b
  DB 00h
EndOfGDT:
Seiten: [1] 2

Einloggen