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

Seiten: [1] 2
1
Offtopic / thetrue ist toll (CPU-Selbstbau)
« am: 01. January 2007, 16:40 »
LOL, ihr wollt eine CPU bauen?

ihr nutzt doch nur die vorhandenen Prozessoren. Das ist kinderkram.

Wenn ihr die Prozesoren, die ihr verwendet selberbauen würdet ...

*Kopfschüttel*


PS: http://de.wikipedia.org/wiki/Prozessor_%28Hardware%29
2
Lowlevel-Coding / Doofes Vesa/Bochs/Qemu problem
« am: 19. August 2006, 10:01 »
moin,

also ich habe ein Problem mit VEsa und bochs oder qemu. Das Problem habe ich schon seid ner woche.

also wenn ich alles vollmalen will nutze ich das:



mov edi,[VbeModePhysBasePtr]
mov ecx, 800*600
mov ax, 0xAA
rep stosb


oder das:
mov ecx, 800*600
.lop:
mov [edi], byte 0xFF ;!! Blue
inc edi
mov [edi], byte 0xAA ;!! Green
inc edi
mov [edi], byte 0x00 ;!! Red
inc edi
loop .lop

beides geht unter Bochs und Qemu nicht, es wird nur oben ca ein fünftel angemalt, bei beiden versuchen ... Bei meinem echtem PC geht es und VPC macht auch alles richtig.

aber wenn ich so mache:


mov edi, [VbeModePhysBasePtr]
mov ebx, 9964h
mov ecx, 600
.lp:
push ecx
mov ecx, 800
.lop:
mov [edi], byte 0xFF ;!! Blue
inc edi
mov [edi], byte 0xAA ;!! Green
inc edi
mov [edi], byte 0x00 ;!! Red
inc edi
loop .lop
pop ecx
loop .lp

geht es überall ... aber bei bochs und qemu halt langsamm man kann sehr gut sehen wie alles zugemalt wird dauert ca eine secunde

woran liegt das??? ist es ein bug von qemu/bochs?

//edit: alle drei schleifen tuhen ja sowieso das selbe

aha, wenn ich push ecx dur mov edx, ecx und pop ecx durch mov ecx, edx ersetze, dann ist es das gleiche wie mit den beiden ersten schleifen ...

ich glaube das geht zu schnell für bochs und qemu ^^
3
Lowlevel-Coding / Vesa gibt modeinfo nicht
« am: 13. August 2006, 20:07 »
moin,

also komischerweise steht bei VbeModePhysBasePtr die adresse um pixel zu malen nicht ....

hier der code ausschnitt:


mov ax, 0x4F01
mov di, VbeModeInfoBlock
mov cx, 0x118
int 0x10
//andere datei\\
VbeModeInfoBlock:
VbeModeModeAttributes db 0, 0
VbeModeWinAAttributes db 0
VbeModeWinBAttributes db 0
VbeModeWinGranularity db 0, 0
VbeModeWinSize db 0, 0
VbeModeWinASegment db 0, 0
VbeModeWinBSegment db 0, 0
VbeModeWinFuncPtr db 0, 0, 0, 0
VbeModeBytesPerScanLine db 0, 0
VbeModeXResolution db 0, 0
VbeModeYResolution db 0, 0
VbeModeXCharSize db 0
VbeModeYCharSize db 0
VbeModeNumberOfPlanes db 0
VbeModeBitsPerPixel db 0
VbeModeNumberOfBanks db 0
VbeModeMemoryModel db 0
VbeModeBankSize db 0
VbeModeNumberOfImagePages db 0
VbeModeReserved_page db 0
VbeModeRedMaskSize db 0
VbeModeRedMaskPos db 0
VbeModeGreenMaskSize db 0
VbeModeGreenMaskPos db 0
VbeModeBlueMaskSize db 0
VbeModeBlueMaskPos db 0
VbeModeReservedMaskSize db 0
VbeModeReservedMaskPos db 0
VbeModeDirectColorModeInfo db 0
VbeModePhysBasePtr db 0, 0, 0, 0
VbeModeOffScreenMemOffset db 0, 0, 0, 0
VbeModeOffScreenMemSize db 0, 0
VbeModeLinBytesPerScanLine db 0, 0
VbeModeBnkNumberOfPages db 0
VbeModeLinNumberOfPages db 0
VbeModeLinRedMaskSize db 0
VbeModeLinRedFieldPos db 0
VbeModeLinGreenMaskSize db 0
VbeModeLinGreenFieldPos db 0
VbeModeLinBlueMaskSize db 0
VbeModeLinBlueFieldPos db 0
VbeModeLinRsvdMaskSize db 0
VbeModeLinRsvdFieldPos db 0
VbeModeMaxPixelClock db 0, 0, 0, 0
VbeModeReserved:
times 190 db 0



so teste ich es ...

mov edi, dword [VbeModePhysBasePtr]
cli
hlt
;mov ecx, 1024 * 756
;mov eax, 0xCC
;rep stosd


nja dann halt die bochs cpu dump angucken ;)
4
Lowlevel-Coding / CMOS 2006->06
« am: 13. August 2006, 00:28 »
öhm,

ich bin entweder zu müde oder zu blöd ^^

also ich habe das Jahr in einer Variable abespeichert, ist 2006 ;) RTC halt.

so, aber wie kann ich nun mit ASM das in 96 umwandeln?

oder wenn es 2089 ist dann soll halt 89 raus kommen ... oder wie siehts dann halt aus??? gibts ne Formel für?

//::EDIT::\\ ich sehe gerade beim dump, dass CMOS als jahr 0x6 returned ...

ok, dann wie mache ich aus 06->2006 ??? ^^
5
Lowlevel-Coding / DMA und FDC
« am: 12. August 2006, 15:32 »
tach,

ich habe mal wieder ne Frage.

wie Functioniert das ???

wenn ich nun die Bytes für die Read function sende 66h an 3F5h sende, dann muss ich doch die restlichen bytes, also Cylinder, Head, Sector etc senden. so. Aber was hat nun DMA damit zu tun? bzw woher soll DMA wissen das ich in diesem moment floppy lesen will ???
6
Lowlevel-Coding / wieder Frage zu Pmode ^^
« am: 09. August 2006, 20:47 »
nabend,

also ich code ja nun mein OS ganz neu ...
bin bei PMode und lese gerade die Grafiken ab ... über den aufbau ... ist alles ja kein problem ...
aber bis jetzt habe ich noch in keine Tutorial gelsen, das man in der GDT 3 desktiptoren definieren muss ..

DUMMY Deskriptor
COdeSegment
und Datasegment ...

aber woher soll man das wissen? ich meine wenn jetzt irrgend jemand neu bei PMOde ist, wie ich auch früher war, woher soll er das wissen???
oder gibts en TUT, das erklärt das es 3 stück gibt?
7
Lowlevel-Coding / TimeStamp
« am: 05. August 2006, 22:19 »
moin,

ich dachte mir, dass ich Unix-Timestamp als zeit in meinem FS verwende...
nun ist das Problem da, ich weiß nicht wie ich von Timestamp das Datum in d.m.Y h.i.s berechne ....

weiß einer von euch wie das geht???

achja und wie geht den auch umgekehrt?
8
Lowlevel-Coding / Module implementieren
« am: 04. August 2006, 12:17 »
moin,

da ich schon recht weit mit meinem OS bin, habe ich über Module nachgedacht bzw Treiber.

Doch wie  implementiert man das?

also angenommen ich habe den Tastatur Treiber auf einer anderen Datei, wie kann ich das dan so laden, dass ich es wie der code im Kernel benutze?

Wie habt ihr das  implementiert?
9
Lowlevel-Coding / Paar Fragen
« am: 03. August 2006, 21:55 »
moin,

wie kann ich:

1. Den PowerDown Knopf abfangen und dann halt Power doch nicht abzuschalten ... also ich will sowas wie bei windows, wenn man den Ausschalte Knopf drückt ;)
2. Wie Kann ich den PC ausschalten, also APM PowerDown?
3. Wie reboote ich ihn?

achja, ich bin im Pmode ;)
10
Das Wiki / Die Wahl :: Diskussion
« am: 01. August 2006, 00:01 »
hier könnt ihr halt disskutieren ...
11
Das Wiki / >>!!!Die Qaul der Wahl :: Admin Wahl !!!<<
« am: 01. August 2006, 00:00 »
so, nun ist es soweit, die Admins werden gewählt :)
LowLevel muss nun nie mehr ohne Mods/Admins sein ...

die follgenden Users haben sich beworben:
Zitat
thetrue
Coffee
maumo
stefan2005
PorkChicken
taljeth


nun müsst ihr Voten ...

Ihr könnt für mehrer Users voten, d.h dass man 2 oder 3 Admin wehlen kann ...
hier ein Beispiel:
wenn ihr nur für Coffee seit, dann schreibt bitte einfach "Coffee".
wenn ihr für PorkChicken und taljeth seid, dann schreibt "PorkChicken und taljeth"

Dadurch kann man mehrer Admin wehlen ... wenn jedoch PorkChicken z.B mehr Stimmen hat, als PorkChicken und taljeth, dann wird nur PorkChicken der Admin und der User auf dem Platzt 2  ;) also es werden auf jeden Fall 2 Admins geben!


PS: in dem Thread "Die Wahl :: Diskussion" könnt ihr diskutieren ... Hier bitte keine Komentare!!!

//EDIT: achja, am 08.08.06 werde ich so gegen 15 Uhr die Admins vorstellen und Roshl informieren
12
Offtopic / Programm zum erstellen von Images ...
« am: 30. July 2006, 21:26 »
moin,

ich frage mich wie man ein programm schreiben kann, dass images erstellt ...

als test will ich en FAT 12 imagecreator erstellen ... doch wie macht man das ???

ps: c++, delphi, vb, etc kein problem ;)

da ich später vorhabe eigenes FS zu schreiben, muss ich ja wiessen wie man images dafür erstellt :)
13
Das Wiki / WICHTIG !!! Neuer Admin!!!
« am: 28. July 2006, 21:05 »
so,
da das Forum letzte Zeit sehr oder garnicht von Admins/Mods besucht wird, wird nun ein neuer Admin gewählt! (Hat Roshl so bestimmt ;))

so wer sich als Admin bewerben will, soll sich bitter hier eintragen!

UND WICHTIG, KEINE ANDERE KOMENTARE!!!

AM 01.08.06 wird ein Thread Kommen, wo ihr für die bewerbenen USer Voten könnt, der User mit den meisten Stimmen wird der neue Admin sein!

EDIT: da manche denken werden NUR 3 tage ... sage ich es euch, wer hier aktiv ist, der wird das 100 % mitbekommen ... und inaktive User brauchen wir nicht
14
Offtopic / Images erstellen etc.
« am: 25. July 2006, 23:27 »
moin,

1. Wie kann ich unter Windows/Linux floppy images erstellen?
2. Wie kann ich unter Windows/Linux FAT32 images erstellen?
3. Wie kann ich dann unter Window/Linux images für mein eigenes FS erstellen?
15
Lowlevel-Coding / Text Ausgabe unter PMode ...(umlauten)
« am: 21. July 2006, 16:05 »
moin,

also unter PMode gibt mal ja so etwas auf den Bildschirm aus ...


mov 0xB8000, byte 'A'

aber wie kann man den Ü, Ä, Ö und ß ausgeben??? also die Umlauten ...
16
Lowlevel-Coding / Break-SCanCode wird nicht gesendet ...
« am: 20. July 2006, 22:09 »
nabend,

ich habe ein problem mit meinem Tastatur treiber...
wenn ich ne taste loslasse, bekomme ich keinen IRQ1 aufruff ... also kann ich die break scancodes nicht lesen ...
Make ScanCodes functionieren perfect, nja fast ...

hier mein IRQ1:

irq1:
pusha

in al,60h ;Tastaturdaten holen

mov edi, puffer
call num_to_str ; hex to decimal
mov esi, puffer
mov al, 0x00
int 30h ; text ausgabe ... (decimal)


mov al, 0x20 ;EOI-Wert in AL ablegen
out 0x20, al ;EOI an Master-PIC senden
popa
iret


und hier noch die einstellungen:

bcheck3:
in   al, 64h
and al, 02h
jnz bcheck3
mov al, 0xF6
out 0x60, al

bcheck:
in   al, 64h
and al, 02h
jnz bcheck

mov al, 0x60
out 0x64, al
bcheck2:
in   al, 64h
and al, 02h
jnz bcheck2

mov al, 10000111b
out 0x60,al[quote][/quote]
17
Lowlevel-Coding / Tastatur treiber problem
« am: 20. July 2006, 14:07 »
also ich will den ScanCode Set 2 haben ...


bcheck:
in   al, 64h
and al, 02h
jnz bcheck

mov al, 0xED
out 0x60, al

bcheck2:
in   al, 64h
and al, 02h
jnz bcheck2

mov al, 0111b
out 60h, al

in al,60h ;Tastaturdaten holen


aber jetzt ist in al FAh, aber nicht der ScanCode ... Woran liegt das?

PS: der code ausschnitt ist aus IRQ1 ....


irq1:
pusha

bcheck:
in   al, 64h
and al, 02h
jnz bcheck

mov al, 0xED
out 0x60, al

bcheck2:
in   al, 64h
and al, 02h
jnz bcheck2

mov al, 0111b
out 60h, al

in al,60h ;Tastaturdaten holen


;mov eax, al
call num_to_str
mov esi, puffer
mov al, 0x00
int 30h


mov al, 0x20 ;EOI-Wert in AL ablegen
out 0x20, al ;EOI an Master-PIC senden
popa
iret
18
Lowlevel-Coding / Zahlen ausgeben ...
« am: 20. July 2006, 13:13 »
moin, ich kriege es nicht hin zahlen auszugeben ....


xor edx,edx
num_to_str:
mov edi, puffer+6
mov bx,10
div bx
add dl,30h
mov [edi],dl
dec edi
cmp ax, 0
jne num_to_str
ret

puffer: times 7 db 'F'

...
mov ax, 1234
call num_to_str
mov esi, puffer
mov al, 0x00
int 30h


also irrgend wie ist der puffer leer ...

achja, das liegt nicht an dem int 31h ;) aber heir noch der code
:


int0: ;30h
pusha
push ds
cli

cmp ah, 0x00
je int0_0x00
jmp int0_end

int0_0x00: ;Text ausgabe
mov edi, 0xB8000
int0_0x00_start:
lodsb
or al,al
jz int0_0x00_end

mov [edi], byte al
inc edi
mov [edi], byte 1Bh
inc edi

jmp  int0_0x00_start
int0_0x00_end:
jmp int0_end

int0_end:
sti
pop ds
popa
iret
19
Lowlevel-Coding / eine Frage zu einem COde
« am: 19. July 2006, 23:14 »

dw (irq2 and 0xFFFF) ;Offset für IRQx
dw 0x8 ;Codesegment 8
db 0 ;
db 10001110b ;"Präsenz"-Bit, DPL und Segmenttyp
dw irq2 shr 16


was bewirkt das "and 0xFFFF" ???
bite erlährt es mir, weil ich sonst verzweifele ...
20
Lowlevel-Coding / IDT problem
« am: 19. July 2006, 17:35 »
moin,

also ich habe ein Problem mit IDT:


;INTERRUPTS
dw int0 ;Offset für INT
dw 0x8 ;Codesegment 8
db 0 ;
db 11101110b ;"Präsenz"-Bit, DPL und Segmenttyp
dw int0 >> 16 ; 16 Bit Offset


davor sind noch die Exceptions und IRQs
aber das problem ist, das wenn ich den interrupts aufruffe:

MAIN:
;sti
int 30h
cli
hlt

dann kommt nicht mal die loader nachricht ...

hier ganze kerlel CODE : http://pastebin.de/9320
Seiten: [1] 2

Einloggen