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

Seiten: 1 ... 5 6 [7] 8 9 ... 13
121
OS-Design / Re: Alternativen zu Assembler und C/C++?
« am: 21. July 2007, 23:10 »
3. Zeile der Projektbeschreibung: Was man können muss, um bei dem Projekt mithelfen zu können.
Zitat
Als (aktiver) Programmierer solltest du mindestens C im fortgeschrittenem Stadium können, Kenntnisse in x86-Assembler sind von Vorteil,
C und ASM Kentnisse bei einem Freebasic projekt ;)
122
Offtopic / Re: Hosen runter! Zeigt eure OS ;)
« am: 25. June 2007, 21:48 »
:-o Sehr schön!
Einfach genial.
123
Lowlevel-Coding / Re: binär Datei laden(Shell)
« am: 20. June 2007, 10:54 »
Du musst erstmal wissen, wo die Datei ist (in welchen Sektoren).
Ohne Dateisystem wirst du das fest in den Kernel einprogrammieren müssen, oder eine 1-Sektor große Daten-Datei anlegen, die du einliest.
In der kann dann Größe und Positon der shell stehen. (womit du dann bereits ein minimales Dateisystem hättets ;) )

Wenn du weist, wo die Datei ist, kannst du den Ersten sektor laden, in der du Headerinformationen zum Programm speicherst.
u.a. An welcher Adresse die Datei geladen werden muss.

Dann einfach ein call auf diese adresse machen.
call deshalb, weil du die shell ja auch irgendwann wieder verlassen möchtest.
124
Lowlevel-Coding / Re: Kann irgendwie nicht linken
« am: 19. June 2007, 19:29 »
OK, Vielen Dank.
Es kommen zwar noch ein paar Fehler (Einige symbole werden nicht aufgelöst), das legt aber wahrscheinlich am Code selber.

DANKE
125
Lowlevel-Coding / Re: Kann irgendwie nicht linken
« am: 19. June 2007, 16:05 »
Linux? Ja
126
Lowlevel-Coding / Re: Kann irgendwie nicht linken
« am: 19. June 2007, 15:51 »
habe ich gerade im hex-editor gesehen ;)
Problem bleibt aber trotzdem bestehen (auch wenn das icon nun stimmt :)  )
127
Lowlevel-Coding / Re: Kann irgendwie nicht linken
« am: 19. June 2007, 15:23 »
nein, geht leider nicht :(
INPUT(
       kernelexe.obj
       _oop.obj
       kernel.obj
     )
RedEagle@linux-27ul:~/reos/kernel> ld -T ~/reos/kernel/link.txt -o ~/reos/kernel/kernel.bin
ld: skipping incompatible kernelexe.obj when searching for kernelexe.obj
ld: cannot find kernelexe.obj
RedEagle@linux-27ul:~/reos/kernel>

So wird übrigens die Datei erstellt:
nasm -f aout -o ~/reos/kernel/kernelexe.obj ~/reos/kernel/kernelexe.asmAuffällig ist, das kernelexe.obj ein anderes icon hat, als die anderen *.obj-Dateien. Mach nasm möglicherweise etwas falsch??
128
Lowlevel-Coding / Re: Kann irgendwie nicht linken
« am: 19. June 2007, 14:30 »
was haßt relativ?? von der Postion des scriptes aus??
./kernelexe.obj verursacht selbiges Problem.

make benutze ich nicht.
129
Lowlevel-Coding / Kann irgendwie nicht linken
« am: 19. June 2007, 10:53 »
Ich bin auf Linux umgestiegen, und muss jetzt meine build-scripte meines Systems umschreiben.
Damit bin ich jetzt fast fertig, aber natürlich macht die letzte Zeile wieder Probleme ;)

Also:
Der relevante auszug aus ~/reos/kernel/link.txt
INPUT( ~/reos/kernel/kernelexe.obj
       ~/reos/kernel/_oop.obj
       ~/reos/kernel/kernel.obj
     )
All 3 Dateien sind vorhanden.

Wenn ich jetzt
ld -T ~/reos/kernel/link.txt -o ~/reos/kernel/kernel.bin ausführe (unter bash) bekomme ich die Meldung:
ld: cannot find ~/reos/kernel/kernelexe.objwo liegt das Problem??

ps.: verwende openSuSE 10.1
130
Lowlevel-Coding / Re: Komisches PM Problem
« am: 04. June 2007, 10:35 »
sry für diese Blöde frage  :oops:

habe in diesem Abschnitt ...
GDT_DESC:
   limit dw GDT_END - GDT_START - 1
   base  dd GDT_START
...vergessen das Codesegment auf GDT_START zu addieren  :-P
131
Lowlevel-Coding / Komisches PM Problem
« am: 02. June 2007, 10:54 »
Ich überarbeite gerade meinen Kernel; Allerdings gibt es jetzt probleme mit dem Wechsel in den PM.

code:
[Bits 16]
[org 0x2000]

;...

GDT_START:

  gdt_NULL:
      dd 0
      dd 0

   
  gdt_CODE:
     dw 0xFFFF
     dw 0
     db 0
     db 10011010b ; 0x9A
     db 11001111b ; 0xCF
     db 0

  gdt_DATA:
     dw 0xFFFF
     dw 0
     db 0
     db 10010010b ; 0x92
     db 11001111b ; 0xCF
     db 0

  gdt_VRAM:
     dw 0x0F9F
     dw 0x8000
     db 0x0B
     db 10010010b ; 0x92
     db 00000000b ; 0x00
     db 0x00

GDT_END:

GDT_DESC:
   limit dw GDT_END - GDT_START - 1
   base  dd GDT_START


;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;; Selectoren                         ;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

nullsel  equ 000000000000000b
codesel  equ 000000000001000b
datasel  equ 000000000010000b
vramsel  equ 000000000011000b


;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;; PMode                              ;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

EnablePMode:
   PM0:
    cli
    lgdt [GDT_DESC] ; GDT laden
   
   PM1:
    mov eax, cr0 ; Das CR0 Register in eax laden
    or  eax, 1   ; Das 0. Bit (PE Bit) auf 1 setzen
    mov cr0, eax ; Den neuen Wert in CR0 laden

   
    jmp long codesel:PM2+0x10000  ;#Hier wird rebootet#

[Bits 32]
   PM2:
    jmp PM2

Debuginformationen (von mir (ein echter PC))
16 Bit Kernel

cs: 0x00001000
ds: 0x00001000

PM-Wechsel:

limit: 0x0000001F
base:  0x00002107
GDT@:  0x00002107 bis 0x00002127
desc@: 0x00002127
PMen@: 0x000021BC

lgdt [OK]
pmen [OK]

cr0:   0x00000011
j2PM@: 0x000021FB

#Hier wird rebootet#

Debuginformationen (von Bochs)
00003425503e[CPU0 ] jump_protected: gate type 0 unsupported
00003425503e[CPU0 ] exception(): 3rd (13) exception with no resolution, shutdown status is 00h, resetting
...
00004191636i[CPU0 ] real mode
00004191636i[CPU0 ] CS.d_b = 16 bit
00004191636i[CPU0 ] SS.d_b = 16 bit
00004191636i[CPU0 ] | EAX=ffff040a  EBX=0000ce3c  ECX=000a0004  EDX=00000402
00004191636i[CPU0 ] | ESP=0000ff5e  EBP=0000ff62  ESI=0000733c  EDI=00007362
00004191636i[CPU0 ] | IOPL=0 NV UP DI PL ZR NA PE NC
00004191636i[CPU0 ] | SEG selector     base    limit G D
00004191636i[CPU0 ] | SEG sltr(index|ti|rpl)     base    limit G D
00004191636i[CPU0 ] |  CS:f000( 0000| 0|  0) 000f0000 0000ffff 0 0
00004191636i[CPU0 ] |  DS:0000( 0000| 0|  0) 00000000 0000ffff 0 0
00004191636i[CPU0 ] |  SS:0000( 0000| 0|  0) 00000000 0000ffff 0 0
00004191636i[CPU0 ] |  ES:07c0( 0000| 0|  0) 00007c00 0000ffff 0 0
00004191636i[CPU0 ] |  FS:0000( 0000| 0|  0) 00000000 0000ffff 0 0
00004191636i[CPU0 ] |  GS:0000( 0000| 0|  0) 00000000 0000ffff 0 0
00004191636i[CPU0 ] | EIP=00000542 (00000541)
00004191636i[CPU0 ] | CR0=0x00000010 CR1=0 CR2=0x00000000
00004191636i[CPU0 ] | CR3=0x00000000 CR4=0x00000000

Komisch ist schon, das bochs noch im 16Bit modus zu sein scheint...
Der code hat so früher mal funktioniert, allerdings liegt er nun an einer Andern Positiom im speicher... Das habe ich aber eigentlich korrigiert, und de Debuginfos sind auch alle OK

Was ist falsch?? Wo muss ich den Fehler suchen??
132
Offtopic / Re: RS232
« am: 27. May 2007, 22:15 »
ne Alternative:
Die Daten seriell in ein Schieberegister schreiben, und dann an ein D/A-Wandler schicken.

Die rs232 selber kann keine Analogen Werte ausgeben
133
Offtopic / Re: RS232
« am: 26. May 2007, 08:49 »
Ich würde die rs232 auch nur zur Kommunikation einsetzen. Ein AVT (z.B. ATmega8) kostet nicht viel, und ist sehr leicht anzuschließen, auch für die, die von ET keine ahnung haben...

Hier gibts einige Informationen:
http://www.roboternetz.de/wissen/index.php/Hauptseite

Und, wenn es nicht gerade nur ne LED ist, würde ich den Verbraucher nicht direkt an den AVR oder RS232 anschließen, sondern mit einem Transistor schalten!
134
Das Wiki / Re: Ausgabe 10
« am: 29. April 2007, 16:12 »
Ich finde es ebenfalls sinnvoller, einzelne Artikel bzw Tutorials zu schreiben, als ein ganzes Magazin.
Zudem ist es nicht gerade so, das LowLevel mit irgendwelchen anderen Comunitys Konkuriert.
Man kann sich ja die Änderungen des Wikis anzeigen lassen, und sieht, das mehrmals in der Woche irgendetwas neu geschrieben oder zumindest Aktualisiert wird. Das ist wesentlich besser als wenn man mal alle 1 oder 2 Monate eine neue Ausgabe des Magazins veröffentlicht.
135
tyndur / Re: Der Weg zur 0.1
« am: 21. April 2007, 22:57 »
Testrechner
CPU: Intel Cyrix 6x86
RAM: 16MB

erfolgreich Getestete Befehle: (Die anderen habe ich nicht getestet)
date
time
ls
dir
free
pwd
mkdir

zu free
Gesamt: 16384KB = 16MB
Benutzt: 2280KB = 2MB
Frei: 14104KB = 13MB
13MB + 2MB != 16MB ;)

zu ls
die Erste Datei wird in die Zeile der Punkte geschrieben...
.. menu.lst
stage2
stage1
Da währe ein Zeilenumbruch ganz nett :)
136
Offtopic / Re: kleiner und etwas andera Logiksimulator
« am: 26. February 2007, 16:44 »
Hi
Echt mal nen ganz anderer Ansatz, sowas zu realisieren :) ; gefällt mir
gibt es nur AND und XOR?? OR währe noch recht hilfreich, und ggf NAND/NOR
137
Offtopic / Re: Welche Software setzt ihr ein?
« am: 24. February 2007, 23:11 »
NASM
gpp
DEV-CPP (Ich verwende ihn nur als Editor, nicht als IDE)
phase 5 html-editor (da man hier einfach neue Syntax-heighlighting-schemen erstellen kann)
rawwrite
DataCompiler (selbstentwickelt, macht aus ascii codierte Dateien Binär Dateien)
bsp.: ""AB" 0x00" wird zu 0x414200, so kann ich ganz einfach z.B. mein Dateisystem per hand editieren, mit Kommentaren versehen usw.. (in einer *.txt natürlich)

ToDoList Planung muss sein ;)
Notepad Für kleinigkeiten wie batch-files
bochs
HxD Ein guter Hex-editor, mit dem man Diskettenimages Sektorweise betrachten kann (sehr hilfreich)
138
Offtopic / Re: osdever
« am: 18. February 2007, 18:26 »
Auf die Startseite komme ich noch, aber die Donumente kann ich nicht einsehen...
Bekomme immer die Meldung "Database Connection failed" :(:(
139
Das Wiki / Wie kann man im wiki die News aktualisieren??
« am: 18. February 2007, 10:01 »
...
gestern wurde MenuetOS 64 version 0.58 released
http://www.menuetos.net/
140
Lowlevel-Coding / Re: Problem mit Globaler Struktur
« am: 09. February 2007, 14:23 »
Kann mir keiner helfen??
Bin echt total am Ende mit meinen Kompetenzen...

Es würde mir schon helfen, wenn ihr mir tipps gebt, wo evtl der Fehler leigt..
Seiten: 1 ... 5 6 [7] 8 9 ... 13

Einloggen