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

Seiten: 1 2 [3] 4 5
41
Offtopic / Hat zufällig jemand ein Asus A8V deluxe ?
« am: 27. January 2005, 21:18 »
Tja, da sieht man was fehlt: ein großes Buch wo alles drin steht über den PC. Dann muss man nicht alles einzeln aus dem Netz suchen...  :D

Jedenfalls danke für die Info.

Wieder ein Speicher-Bereich den man im Realmode lieber nicht anfassen sollte.   Stellt Euch vor wir hätten noch Zeiten in denen man mit 1MB Speicher voll aufgerüstet war und zu den Wohlhabenden PC-besitzern gehörte.... *lach*
42
Offtopic / ...man lernt nie aus...
« am: 27. January 2005, 20:59 »
Ahhh... hmmm... wenn das so ist, dann liegt der Fehler auf meiner Seite.

Ich habe ja schon einige Auflistungen der Speicherbereiche im PC gesehen, aber das mit dem  9FC00- 9FFFF =EDBA ist mir neu.

Okay, dann wundert mich aber das es auf allen anderen PCs funktioniert, bzw. dieser Bereich anscheinend nicht benutzt wird.
Gibt es offizielle Festlegungen was in diesem Bereich gespeichert ist?
Warum listen andere Speicher-Übersichten diesen Bereich nicht auf?

???wunder???

Nun ja, wieder was gelert!....   wozu so ein Forum alles gut ist!
 :P
43
Offtopic / ...and here the bug...:
« am: 27. January 2005, 20:24 »
Also:

Wenn man (im Real-Mode meine ich natürlich) den Adressbereich 9FE00h bis 9FFFFh (also die letzten 512 Byte im freien Realmode-Adressraum) benutzt, sie also verändert dann wird die Lesefunktion (02h) von Int13 außer Kraft gesetzt.

Ich hab lange getestet und viel probiert, ich bin der Überzeugung dies ist ein Bug.

Ich zeig das mal anhand von Pseudo-Code


- setze Stack auf 9FF00h
- pushe einiges auf den stack
- lese 1. Disketten-Sector
- lesen erfolgreich, Sector gelesen
- setze Stack auf 9FFFFh
- pushe einiges auf den stack
- lese 1. Disketten-Sector
- lesen fehlgeschlagen mit der Meldung "ungültige Funktionsnummer"


Oder anders gesagt: Wenn der Bereich von 9FE00h bis 9FFFFh beschrieben wird dann kennt das Bios die Funktion 02h von Int 13 nicht mehr.


Wenn ich bei einem frisch resetteten Rechner diesen Speicherbereich mir aufliste dann steht tatsächlich an 2 Stellen etwas drin.
Meine Vermutung ist das die Progger des BIOS irgendwo einen "Zahlendreher" oder sowas drin haben und Daten die eigentlich in den Bios-Datenbereich 0000h-0400h gehören statt dessen dort oben abgelegt werden.

Dafür spricht auch das dies auf keinem anderen Rechner auftritt als auf dem Asus A8V mit Bios Version 1008 oder 1009.

Und, bitte korregiert mich, aber der Speicher dort oben bis an A0000h heran ist doch freier Speicher und nicht für das BIOS reserviert, oder?
44
Offtopic / Hat zufällig jemand ein Asus A8V deluxe ?
« am: 27. January 2005, 18:49 »
Ich habe dieses Board, und ich denke ich habe einen Bug im BIOS gefunden.
Es wäre schön wenn jemand dieses Board hat und evtl. den Bug bestätigen könnte...

Ich horche erstmal ob jemand dieses Board hat, alle Anderen dürfte die Beschreibung des Bugs vermutlich nicht interessieren.
45
OS-Design / ...fast richtig!
« am: 27. January 2005, 18:45 »
HA! habs jetzt erst gelesen!

Du hast fast recht PorkChicken...
Aber es ist nicht StarTrek 1 sondern....   8)    naja, nen zweiten Versuch geb ich Dir noch    :lol:


Gruß BigOlly
46
OS-Design / FAT12
« am: 27. January 2005, 18:33 »
Ohhh jaaa..... sorry, ich korregiere mich!


aus:

times 1024-($-$$)-2 db 0

muss

times 1024-($-$$) db 0

werden!!!

(bei allen anderen muss die "-2" natürlich auch weg!)



Ich bin ein Opfer von Copy und Paste...  :D
47
Lowlevel-Coding / ...alles neu, alles anders...
« am: 27. January 2005, 18:14 »
Kann Bochs das schon? Ich arbeite selber nicht mit Bochs sondern mit echten PCs.
Haltet mich für verrückt, aber ich habe in den letzten 2 Wochen alles was ich an alter Hardware noch hatte herausgekramt und zusammen geschraubt. Außerdem habe ich mir zum Jahreswechsel einen zweiten Arbeitsrechner gegönnt. Jetzt steht hier ein Pentium 1 mit 233MHz, ein Dual-Pentium III (ich probiere gerade etwas rum mit Multiprozessor-PCs), ein Pentuim IV HT und ein Atlon64.
Ich denke das ich so am besten testen kann ob das was ich progge auch auf verschiedenen Rechnern läuft.


Aber mal zu AMD64:
Laut dem was ich gelesen hab gibt es im Long-Mode nur noch ein TSS. Und die Segmentregister CS,DS und ES werden "gleichgeschaltet", also DS und ES werden nicht benutzt sondern nur CS. Alles sehr ominös, ich hoffe ich finde noch anderes Material im Netz darüber als "nur" die Intel und AMD-Docs.

Wenn das stimmt was ich verstanden habe dann muss es auch ziemlich starke Änderungen im 64-Bit Windows und Linux gegeben haben, alles was mit dem Task-Switching zu tun hat dürfte omplett neu geprogtt worden sein....
...vielleicht schnall ich das aber blos alles noch nicht so richtig...
48
OS-Design / FAT12 und FAT16 Handmade... so wirds gemacht!
« am: 27. January 2005, 18:04 »
Also, hier mal ein Tip an alle die ein FAT12 (oder FAT16) auf eine Floppy bringen wollen ohne das Format-Programm von Windows oder DOS zu benutzen. (was eigentlich Unsinn ist, aber immerhin wurde das hier ja gefragt    )

Beispiel 1, FAT12 auf eine 1,44MB Diskette:
--------------------------------------------------

Zuerst erstellt man einen Bootsector der einer 1,44MB FAT12 Diskette entspricht (was ich hier nicht erkläre weil das ausführlich im Magazin und im TeeJay-Tutorial beschrieben ist).

Direkt hinter dem Bootsector (also in den zweiten 512 Byte) schreibt man die Bytes FF 0F F8 und setzt den Rest der Bytes auf 0x00 also z.b. so:

   db   0xff,0x0f,0xf8
   times 1024-($-$$)-2  db 0

Dannach erstellt man weitere 22 Sectoren die mit 0x00 gefüllt sind, also so:

   times 12288-($-$$)-2  db 0

(jaa, ich weiss, man kann auch das erste times auf 12288 setzen, aber so blickt man vielleicht besser durch)

Jetzt assembliert man das ganze und erhällt ein  12kByte großes Binärfile (1 Bootsector, 1 mit drei Bytes gefüllter Sector und 22 'leere' Sectoren) welches man einfach mit RawWrite auf eine Floppy schreiben kann.

Und schon habt Ihr eine "jungfräulich, frisch formatierte" FAT12-Diskette die auch unter DOS und Windows gelesen und beschrieben werden kann.

(ABER VORSICHT... die Daten auf der Diskette gehen natürlich verloren, klar!)


Beispiel 2, FAT16:
---------------------
Bei FAT16 ist es etwas komplizierter. Im Grunde sollte es genauso funktionieren, nur mit dem Unterschied das in den 2 Sector die Bytes

   db   0xff,0xf8,0xff,0xf8
   times 1024-($-$$)-2  db 0

geschrieben werden müssen und dannach wesentlich mehr leere Sectoren folgen als nur 8. (Die Anzahl ergibt sich aus der Größe des Datenträgers, wer auf Nummer Sicher gehen will schreibt einfach 288 leere Sectoren)
...und schon hat man ein FAT16 formatiertes Medium.

Aber es gibt eine Tücke...! So ziemlich alle FAT16-Medien (und das weiß kaum einer) sind Partitioniert! Jaaa, Ihr habt richtig gehört, auch LS120, Zip100, USB-Sticks and so on....
Ihr könnt also die erstellten Sectoren nicht einfach ab Sector 0 schreiben sondern müsst herausfinden auf welchem Sector die Partition beginnt und das Ganze ab diesem Sector schreiben!

Zweite Tücke: Ihr müsst den BPB im Bootsector Anpassen (insbesondere BPB_TotSec16, BPB_TotSec32 und BPB_HiddenSec), was auch wieder Arbeit macht.


FAZIT:
--------

Wer's wissen will weiß es jetzt (Wissen kann nie schaden), aber Leute, formatiert Eure Dieskette unter Windows oder DOS, dann habt Ihr ein sauberes FAT auf dem Datenträger, mir fällt kein wirklicher Grund ein das von Hand zu machen.


Wer es noch genauer wissen möchte, z.b. was diese ominösen Bytes in Sector 2 bedeuten, oder warum gerade 22 bzw. 288 leere Sectoren folgen kann mich gerne fragen. Wollte das hier nicht zu lang machen.


PS: an TeeJay, falls Du das liest:
Du hattest mal vor etlichen Zeiten in Deinem FAT12 Tutorial geschrieben das Du nicht wüsstest wozu genau der Eintrag "BPB_HiddenSec" gut wäre. Hat sich das erledigt und ist geklärt, oder soll ich das hier mal posten?
(will nicht erst das Ganze Forum durchsuchen um zu sehen ob das hier schonmal geklärt wurde)

Gruß BigOlly
49
Lowlevel-Coding / 64-Bit, hat schon jemand rumprobiert?
« am: 27. January 2005, 16:46 »
Hi Leute.

Kurz vorneweg:
Bin endlich wieder da. Gruß an alle die sich noch an mich erinnern... :lol:
Ich war ein 3/4 Jahr nicht hier, hatte einen riesigen Programmier-Job und hab Tag und Nacht gearbeitet. Aber nun hab ich wieder Zeit und nehme mein eigenes OS wieder auf die Tagesordnung.


Aber jetzt meine Frage an Euch:
Hat sich schon jemand mal mit EM64T bzw. AMD64 beschäftigt? Ich meine mal reingelesen oder schon was probiert?
Ich bin gerade dabei mich dort hineinzulesen (mein schlechtes English wird tatsächlich besser um so mehr ich in den Intel-Docs lese).
Ich bin nämlich etwas iretiert wenn ich solche Sachen lese wie z.B.

"... because hardware task-switching is not supported in long mode."

Aber ein einzelnes TSS gibt es anscheinend immer noch.
Hat da schonmal jemand drüber nachgedacht, oder betrete ich hier für alle Neuland?

Gruß BigOlly
50
Lowlevel-Coding / Obj Gui
« am: 10. May 2004, 18:54 »
Korrektur: :)
Im RealMode ist Int 33h zuständig wenn ein Maus-Treiber geladen ist der sich für Int 33h zuständig fühlt... ;)
51
Offtopic / Mainboard Elkos
« am: 06. May 2004, 18:33 »
Tip:
So ein Elko kann auch 5 cm neben dem Platz sitzen an den er eigentlich gehört.
Nimmst halt nen normalen Elko, klebst ihn mit nem Klex Schmelzkleber an einen freien Platz in der Nähe und verbindest ihn mit 2 Drähten an seine Lötpunkte auf dem MB.
Aber nimm Litze! Und nicht zu dünn! :)

Ansonsten....: Wenn's bei Conrad und Reichelt keine passenden gibt, bleibt Dir nur der Weg in ein Elektronick-Bastel-Laden, die es vereinzelt noch gibt. Oder du schlachtest ein altes Board oder was anderes aus.
52
Lowlevel-Coding / Speicher beim Start
« am: 04. May 2004, 22:12 »
>>>Soweit schon mal ganz gut. Wo bekomme ich weitere Details her?

Nun ja, wenn du Details willst dann frage einfach oder, (und das empfehle ich allen hier :) ), schaff Dir mal ein Buch an. Das ist durchaus nicht negativ gemeint. Es gibt viele gute Fachbücher zur PC-AT und x86 Thematik. Und das schöne ist, mann kann durchaus ältere Fach-Bücher zu Rate ziehen, da die meissten Lowlevel-Sachen (Speicher-Aufteilung, Interrupts, IO-ports usw.) ja aus kompatibilitäts-Gründen seit dem ersten PC-AT "gleich" geblieben sind.
Hier nur zwei Empfehlungen:
1. PC-Intern von Data Becker (die letzte Ausgabe ist von 1995)
2. PC-Hardware-Buch (muss nicht die aktuelle Auflage sein, Auflage 4 oder 5 reicht vollends!)
Ich weiss, Fachbücher sind teuer, aber die beiden von mir genannten gibt es oft schon für 1-2 Euro bei ebay!
(Anmerkung: NEIN, ich versteigere keine Bücher bei ebay, ist wirklich ne empfehlung! Hab selber vor 2 Wochen PC-Hardwarebuch 4. Aufl. für 1,89 Euro ersteigert.)


>>>Was steht beim starten in den einzelnen Registern?

Also, soweit ich weiss übergibt das BIOS die Nummer des Laufwerkes von dem es den Bootsctor geladen hat in Register DL an das Bootprogramm (also unseren Bootloader) damit wir auch wissen von welchem LW wir weiter booten oder lesen müssen. Was mit den anderen Registern ist.... Hmmmm ich behaupte jetzt mal das ist nicht definiert. Korregiert mich wenn ich falsch liege.


>>>Dort wurde der Stack auf den Offset 9000h gelegt? (physikalische Adresse: 90000h). Hat das einen bestimmten Grund, oder ist das einfach nur weil 9000h so schön aussieht

Öhhmm... Du kannst den Stack dorthin verfrachten (im freien Speicher-Raum) wo du gerne möchtest! Sieh dir die Speicher-Liste von gurru an, und such dir aus wo der Stack für Deine Zwecke am idealsten liegt.
Ich z.B. habe in meinem Boot-Programm den Stack an Adresse 9F000h-9FFFFh (4kB) gelegt.

noch Fragen Hauser..? :)
53
Das Wiki / Nicht einleuchtende Beispiele
« am: 03. May 2004, 19:08 »
@chr15:

Zu Deinem Beitrag von vorhin:
Es liegt weder an TeeJay, noch an Microsoft.
Diese "Verstümmelten" Einträge die MS da macht sind völlig korreckt! Bedenke, Windows ab W95 benutzt lange Dateinamen! Und genau diese verstümmelten Einträge bilden die langen Dateinamen. Das können bis zu 5 oder 8 werden pro Datei, wunder dich also nicht wenn du eine Datei mit langem Namen auf die Diskette kopierst, und hinterher 6 Directory-Einträge dazu gekommen sind. :)

PS: Jaaaa... auch bei FAT12 gibt es lange Dateinamen! :)
54
Lowlevel-Coding / Kurze Frage zu NASM...
« am: 01. May 2004, 22:14 »
danke Euch! :)
55
Lowlevel-Coding / Kurze Frage zu NASM...
« am: 30. April 2004, 02:36 »
Weiss jemand von Euch ob man in NASM einen ganzen Block auskommentieren kann?
So alla
/*
blabla
blublu
*/

Ich finde das leider nicht in der NASM-Docu... Oder kann NASM das grnicht? :(

Bei der Gelegenheit....    "word ptr" kennt NASM auch nicht oder?
56
Lowlevel-Coding / Arbeitsspeicher
« am: 26. April 2004, 22:24 »
Ergänzung zu A20...:

Lobmann's Erklärung ist völlig korrekt und sagt alles was man wissen muss (jedenfalls beim IMB-PC)... nur... warum es dieses A20-Gate beim IBM-PC gibt ist noch viel interessanter..::

Jeder weiß ja das die heutigen Rechner immernoch weitgehend kompatibel zum IBM PC-AT von vor 5 milliarden Jahren sind. ;)  Das ist auch gut so, denn sonst hätte wohl der PC kaum so einen "Siegeszug" vollbracht.
Aber IBM hatte mal eine Phase in ihrer Entwicklung des PC wo sie diese Kompatibilität auf eine kurriose Spitze getrieben haben....-> das A20-Gate.

Ich kann es nicht besser formulieren als so, wie ich es vor ein par Wochen bei heisse.de gelesen hab, deshalb hier ein Zitat:
............................
Der IBM-PC hatte nur einen Adreßraum von 1 MByte (Adreßbits A0...A19). Wegen seiner Segmentierung konnte man logisch jedoch 64 KByte mehr adressieren, genauer gesagt bis zu FFFFh:FFFFh= 10FFFFh. Statt bei solchen Adressen ordentlich mit einem Fehler (Adreßüberlauf) abzubrechen, fing der Prozessor einfach wieder klaglos bei 0 an (ein sogenannter Umlauf oder Wrap around). Das wäre nicht weiter schlimm gewesen, hätten nicht `pfiffige´ Microsoft-Programmierer dieses Feature in einer so gut wie nie gebrauchten DOS-Funktion (INT 30h) mißbraucht.

Als dann die IBM-Entwickler den IBM-AT schufen, meinten sie, auf den Microsoft-Irrweg Rücksicht nehmen zu müssen. Der 286-Prozessor des AT verwaltete nunmehr 16 MByte, ein Umlauf an der 1-MByte-Grenze fand demnach nicht statt. Um ihn nachträglich zu simulieren, bauten die IBM-Entwickler eine Schaltung ein, die die A20-Leitung fest auf Null fixieren konnte - das A20-Gate war geboren.
............................

Daraus folgt: Wir haben dieses A20-Gate dem damaligen "Kompatibilitäts-Wahn" zu MS-DOS zu verdanken.
:)
57
Lowlevel-Coding / Trap oder Int Gate
« am: 24. April 2004, 23:22 »
hmmm..   Wenn ich das richtig verstanden hab wird beim Trap-Gate im Gegensatz zum Int-Gate das Interrupt-Flag nicht gelöscht....

...aber ich würde jetzt meine Hand dafür nicht in den Toaster halten...! ;)
58
OS-Design / Filesysteme
« am: 24. April 2004, 23:17 »
@The-Programmerfish

Also ich hab mal gesucht nach dem Document das ich zum NetWare-Filesystem mal durchgearbeitet hatte. Google spuckt es aber blöderweise nicht aus. Ich hatte zwar mal ein BookMark, aber lang ist's her.
Ist aber nicht schlimm, denn das meisste hab ich im Kopf :)

Das NWFS hat eine gewisse "Abstammung" vom FAT-Filesystem. Was nicht heissen soll das es wieder eine "Weiterentwicklung" ist. Nein jedes FS braucht so etwas wie eine File-Allocation-Table.
Das NWFS ist darauf optimiert Datensicherheit und schnellen Zugriff zu gewährleisten.
Bei Gelegenheit schreib ich dazu mal ne Doc.

Was aber das eigentlich interessante am NWFS ist, ist die Art und Weise wie die Userrechte aufgebaut, verwaltet und vererbt werden.
Dazu hier mal ein Link:
http://www.lrz-muenchen.de/services/betriebssysteme/nw/nwfilesystemrights/

Auch interessant zu lesen über den Aufbau von NWFS (und sogar in deutsch) ist das hier:
http://www.popp.de/tips/nwfilesy.htm

Und hier kannst du auch noch einen kurzen Blick drauf werfen:
http://www.linktionary.com/n/netware_fs.html

@all
Falls jemand beim stöbern im Netz das Doc findet welches ich meinte, das wo NWFS weitgehend erklärt ist, (war auf englisch) dann schickt mir noch bitte einen Link. Diesmal lade ich's runter und geb mich nicht mit nem Bookmark zu frieden. ;)


PS: Zum Teufel...: Wie produziert man in diesem Forum einen anklickbaren Link...??? *grübel*
59
OS-Design / Filesysteme
« am: 24. April 2004, 18:40 »
Ja, es gibt halt viele interessante Betriebssysteme. Mann muss sich ja nicht immer nur an Windows und Linux orientieren. ;)

Mein File-Server zu Hause ist z.b. ein Novell-NetWare Server. Aber noch die gute alte Version 3.12. Und nun staunt: Mein Server läuft seit 1994 ununterbrochen und zuverlässig...!!! :)  Keine Abstürze und keine Fehler! Alles was ich gemacht habe im Laufe der Jahre ist einen Raid-Controller nachgerüstet Speicher aufgerüstet und ne größere Platte eingebaut. Deshalb läuft auch noch 3.12. Ich hatte nie einen Grund auf eine neuere Version upzudaten.

Wen's interessiert: Mit der aktuellen Version NetWare v6.5 lässt sich hervorragend ein schöner Webserver mit Apache, PHP, MySQL, Perl ... usw. aufbauen. Und Angst vor Hackern braucht man auch nicht zu haben.. weil... welcher Hacker kennt sich schon mit NetWare aus. ;)

Was das Filesystem betrifft, ist es aber in der aktuellen Version 6.5 so "kompliziert" geworden das wir "OS-Anfänger" und wohl dieses garnicht erst ansehen brauchen...;)
..Aber das 3.12er FS ist einen Blick wert!
60
OS-Design / Filesysteme
« am: 24. April 2004, 16:19 »
Tja, ist halt nicht so einfach alles unter enen Hut zu bekommen...:)

Noch ein Beispiel:
Ich verfolge in Bezug auf mein Filesystem (welches sich noch in Entwicklung befindet und im Moment aus Zeitgründen auf Eis liegt) ein Konzept welches sich eher am Novell-NetWare-Filesystem was die User-Rechte betrifft, orientiert. Gerade das frühere Filesystem von NetWare 3.x - 4.x find' ich eigentlich ziemlich vernünftig.

...aber wer von Euch kennt schon Novell-NetWare... *grins*
Seiten: 1 2 [3] 4 5

Einloggen