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

Seiten: [1] 2
1
Das Wiki / Software-Update von Forum und Wiki
« am: 18. September 2011, 00:52 »
Hallo Zusammen,
ich habe heute neue Versionen der Wiki- und Forumssoftware eingespielt. Falls euch also in nächster Zeit neue Probleme oder fehlende Features auffallen, bin ich froh wenn ihr diese hier rasch meldet.

Gruss
2
Das Wiki / Serverumzug
« am: 19. April 2010, 16:13 »
Hallo zusammen,

wie euch vielleicht aufgefallen ist, haben wir die Lowlevel-Webseite (also Forum und Wiki) auf einen neuen Server umgezogen und dabei auch gerade eine eigene Domain eingerichtet. Damit externe Links von anderen Webseiten und Suchmaschinen weiter funktionieren, wurde eine Weiterleitung eingerichtet. Dabei handelt es sich aber nur um eine Übergangslösung, also korrigiert eure Bookmarks und allfällige Links auf euren Webseiten!

Die neuen Adressen:

An dieser Stelle möchten wir uns auch nochmal bei den Leuten von brainsware.org (hier vertreten durch hannibal) für das langjährige Hosting bedanken.

Falls euch irgendweleche Fehler auffallen sollen, oder andere Probleme bestehen, könnt ihr euch an taljeth oder mich wenden, entweder hier im Forum oder im IRC
3
tyndur / Änderungen Git/SVN-Repository
« am: 17. October 2009, 22:20 »
Hallo zusammen,

wie euch vielleicht aufgefallen ist, haben wir in der letzten Zeit ein paar Änderungen an der Struktur unserer Git-Repositories vorgenommen und das SVN als Hauptrepo definitiv abgelöst. Dabei habe ich das bisherige Git-Repository durch ein neues ersetzt, mit sauberem Import aus dem SVN (inklusive ersetzen der Autorennamen), was dazu führt, dass dieses Repo nun nicht mehr zum bisherigen passt, sprich git pull wird nicht einfach so tun. Am einfachsten dürfte es wohl sein neu zu klonen.

Eine weitere Änderung, die das Git-Repository betrifft, ist, dass die Branches der einzelnen Entwickler nicht mehr länger im Hauptrepo sind, sondern pro Entwickler ein eigenes Repo angelegt wurde (git://git.tyndur.org/tyndur/name.git).
4
tyndur / Bescherung: 0.2.0
« am: 24. December 2008, 23:48 »
Auch dieses Jahr gibts wieder pünktlich zu Weihnachten ein neues Release. Diesmal ist aber etwas anders: der Name. ;-) Im Thread zu den Betas ist das ganze genauer beschrieben.

Und hier kann das ganze heruntergeladen werden:

Ich wünsche euch im Namen des tyndur-Teams viel Spass damit.

Ah und: Frohe Weihnachten euch allen
5
tyndur / 0.2-Beta
« am: 15. December 2008, 21:40 »
Der letzte Release ist ja nun schon fast ein Jahr her, und wir sind keineswegs nur auf der faulen Haut gelegen. Deswegen steht auch langsam aber sicher ein weiterer Release bevor. Das ganze hat sich aufgrund hartnäckiger Bugs (hauptsächlich in ext2) leider etwas verzögert, deshalb ist nach der Alpha lange nichts neues gekommen. Diese Bugs haben wir jetzt hoffentlich alle gefixt und sind deshalb zum Schluss gekommen, dass es Zeit ist an eine 0.2 zu denken. Diesmal haben wir uns aber entschieden, es zuerst mit einer Beta zu versuchen. ;-)

Mit dieser Beta haben wir auch den, schon länger geplanten, Namenswechsel von LOST nach tyndur (eigentlich mit Akut auf dem y, aber das macht das Forum ja eh kaputt) vollzogen. Der neue Name ist eine übersetzung des Alten ins Isländische. Gründe für diesen Entscheid waren keine gescheiten verfügbaren Domains, schlechte Trefferchance in Suchmaschinen und die Verwechslungen mit der TV-Serie.

Und hier ist sie, die 0.2-Beta von tyndur:

Hinweis: Das Floppy-Image ist zwar weiterhin verfügbar, doch um die neuen Funktionen richtig testen zu können (vorallem die Paketverwaltung mit fpc und gcc) reicht der Speicherplatz auf der Diskette nicht aus. Deshalb sollte dafür das Festplattenimage hergenommen werden.

Mit folgenden neuen Features:
  • Treiber für ata und ext2
  • Paketverwaltung lpt
  • Pakete wie binutils, fpc (FreePascal), gcc und nano
  • Netzwerkunterstützung mit Treiber für rtl8139 und sis900
  • Tab-Completion und andere neue Möglichkeiten zum editieren der Kommandozeile in der Shell
  • Editor kedit verbessert; neu ist unter anderem das Syntax-Highlighting für C (einschalten mit F8)
  • Virtuelle Terminals (in der Beta wird jedoch standardmässig nur eine Shell gestartet)

Und für die, die lieber Bilder haben, gibts hier ein paar Screenshots.

Bemerkung zur Benutzung von lpt:
Bevor Pakete installiert werden können, muss erst die lokale Kopie der Paketliste mit "lpt scan" aktualisiert werden. Die verfügbaren Pakete können mit "lpt list" angezeigt werden und ein neues Paket kann schliesslich mit "lpt get Paketname" installiert werden.

Bemerkung zum Netzwerk:
Die Images sind standardmässig so konfiguriert, dass sie in qemu mit den Parametern "-net nic,model=rtl8139 -net user" funktionieren. Um Netzwerk auf dem echten PC zu testen, muss dem rtl8139-Modul die IP als Parameter in der Form ip=192.168.1.5 in /config/servmgr/rtl8139/cmd eingetragen werden. Das Gateway mussen in /config/servmgr/tcpip mit dem Parameter gw konfiguriert werden. Die Änderungen werden erst nach einem Neustart übernommen.

So, jetzt aber ran an den Speck!  :-P

Edit: Ich musste eben die Links korrigieren, da es im Moment Probleme mit dem Server, auf dem www.tyndur.org läuft, gibt.
6
Das Wiki / Sinkende Aktivität
« am: 10. February 2008, 23:56 »
Wie vermutlich den meisten Mitgliedern der Lowlevel-Community schon aufgefallen ist, sind viele der älteren Mitglieder nicht mehr aktiv dabei und auch die Aktivität allgemein im Forum hat abgenommen. Es ist ja auch normal, dass Mitglieder die Community verlassen. Die Frage ist aber, warum so wenig "Nachwuchs" also Neueinsteiger nachkommen.

Im Internet herrscht in vielen Foren die Ansicht, dass sowas wie ein eigenes Betriebssystem zu programmieren unheimlich schwierig, wenn nicht unmöglich ist. So werden vermutlich viele Anfänger schon ganz am Anfang abgeschreckt, und suchen gar nicht weiter. Das erstaunt auch wenig, wenn man sich ansieht, was so rauskommt wenn man nach "eigenes Betriebssystem" oder "Betriebssystem entwickeln" sucht.

Wir suchen nun nach Verbesserungsvorschlägen und Ideen was wir dagegen unternehmen können. Einen Anfang hat taljeth mit http://lowlevel.brainsware.org/wiki/index.php/OS-Dev_f%C3%BCr_Einsteiger gemacht.
7
tyndur / Erste Alpha für 0.2
« am: 07. January 2008, 23:20 »
Da eigentlich schon die 0.1.1 nicht mehr dem aktuellen Stand der Entwicklung entsprochen hat, gibts hier ein aktuelles Image, frisch aus trunk zum testen.

Die wichtigsten Neuerungen sind:
  • Virtuelle Terminals: Wechseln mit ESC und danach entwder 1 oder 2. Mit ESC und u respektiv d kann aufwärts und abwärts gescrollt werden. Scrolllock kann mit ESC s aktiviert und wieder deaktiviert werden.
  • Treiber für ATA-Festplatten
  • Treiber für das ext2-Dateisytem
  • file-Modul: Dieses Modul ist eine Vereinfachung für die Benutzung unserer Pfade, da die oft sehr lang werden können. file funktioniert dabei ansatzweise ähnlich wie die Virtuellen Dateisysteme in *nix Betriebsystemen. Auf dem Testimage wurde beispielsweise ata:/ata00_p0|ext2:/ auf / gemappt.
  • DNS-Unterstützung in tcpip
  • readline für shell; Damit ist es jetzt endlich auch möglich, die Kommandozeile auf der Shell zu verändern, weil mit den Pfeiltasten in der Kommandozeile navigiert werden kann. Ein Befehlsverlauf wurde auch eingebaut. Die benutzten Befehle können mit Hilfe der Pfeiltasten nach oben und unten durchsucht werden.

Hier ein Festplattenimage:

Zum Testen empfehlen wir auch hier wieder qemu. Da bochs und vmware nach wie vor Probleme machen. Vom Testen auf Real-PCs rate ich ausdrücklich ab, da man sich mit dem Festplattentreiber schon locker mal die Daten zerschiessen könnte, falls da noch Bugs drin sind, die ich noch nicht gefunden habe. ;-)
8
tyndur / Mailingliste
« am: 29. October 2007, 13:05 »
Da wir in letzer Zeit immer stärkere Probleme mit der Code-Qualität in LOST hatten, haben wir uns dazu entschlossen Änderungen am Code nicht mehr direkt in das Subversion-Repository einzuspielen, sondern die Patches zuerst über eine Mailingliste rumzuschicken und sie so reviewen und ggf. auch testen zu lassen. Diese Technik hat sich bereits mit den ersten paar beiträgen bewährt. ;-)
Diese Liste ist öffentlich, so ist es auch für aussenstehende möglich, Patches beizutragen ohne Schreibzugriff auf das Repository zu haben. Ihr seid alle herzlich eingeladen euch zu registrieren. ;-)

Webseite: http://famkaufmann.info/mailman/listinfo/lost
Archiv: http://famkaufmann.info/pipermail/lost
9
tyndur / LOST 0.1.0 - Release
« am: 03. May 2007, 19:31 »
Das LOST-Team hat die Ehre, euch die Veröffentlichung der ersten LOST-Version 0.1.0 bekannt zu geben!

Hier kann der Code und ein Disketten-Image heruntergeladen werden:


Auch hier gilt wieder:
Zitat
Es ist uns bewußt, daß die Performance nicht optimal ist. Versucht es erst gar nicht, bochs darauf los zu lassen, es macht keinen Spaß. Auch VMWare ist ziemlich zäh. Spaß macht die Sache eigentlich nur mit qemu oder einem echten PC.

Zu dieser ersten Version haben die folgenden Personen massgeblich beigetragen:
  • taljeth
  • Jidder (auch bekannt als PorkChicken)
  • stultus
  • Und schliesslich auch meine Wenigkeit ;-)

Edit: Jetzt hab ich tatsächlich vergessen darauf hinzuweisen, dass das mein 100. Post war *g*.
10
tyndur / LOST Ressourcen
« am: 10. March 2007, 17:39 »
Hier eine Zusammenstellung der wichtigsten Adressen und Links zu LOST:

SVN-Repository: svn://lost-os.ath.cx/lost/
WebSVN: http://svn.tyndur.org/
Nightly Builds: http://lost-os.ath.cx/

LOST-Rubrik im Wiki: http://lowlevel.brainsware.org/wiki/index.php/Kategorie:LOST
Bugzilla: http://bugs.tyndur.org

IRC
Server: irc.euirc.net
Kanal: #lost
Logs: http://irc.tyndur.org

Mailingliste
Webseite: http://list.tyndur.org/mailman/listinfo/lost
Archiv: http://list.tyndur.org/pipermail/lost/
11
tyndur / Lost Kanal im Euirc - Logs
« am: 06. January 2007, 23:47 »
Hallo zusammen

Hier die Server Daten, für diejenigen, die sie noch nicht kennen:
Server: irc.euirc.net
Kanal: #lost

Die Logs können aktuell unter    http://62.141.55.81/irc/irc.php   abgerufen werden.

Die Statistiken:
- Deutsch: http://62.141.55.81/irc/pisg/lost.htm
- Niederländisch: http://62.141.55.81/irc/pisg/lost_nl.htm
- Schwäbisch: http://62.141.55.81/irc/pisg/lost_swab.htm (vielen Dank taljeth)
- Schweizer deutsch (Emmentaler Dialekt *g*): http://62.141.55.81/irc/pisg/lost_ch.htm
- Schweizer deutsch (Appezölle-Dialäkt(vielen Dank Noooooooooos)) http://62.141.55.81/pisg/lost_ch_ap.htm


Sollte jemand Probleme haben, zum Beispiel, dass er den Kanal nicht betreten kann (kommt manchmal vor, wenn die Operatoren den Kanal schliessen, aufgrund von Belästigungen), so ist es am einfachsten einen der Operatoren im Query anzuschreiben:
- taljeth oder auch kwolf
- stultus
- bluecode

Wenn ihr keinen von ihnen erreichen solltet, dann meldet euch doch hier im Forum.

Gruss FreakyPenguin
12
Offtopic / Problem mit Toaster
« am: 08. December 2006, 22:14 »
Heute Abend hat sich im #lost Kanal im EuIRC eine empörende Szene abgespielt. Das ganze begann damit, dass Toaster seinen Nicknamen in "kwolf" umänderte, und ihn kurz darauf registrierte, so dass er von taljeth nicht mehr benutzt werden kann.

taljeth zu dem Nicknamen kwolf:
"Das ist einfach mein Benutzername auf der Arbeit und damit dort mein Standardnick, weswegen ich unter der Woche öfters unter diesem Nick hier war - und erstens möchte ich nicht mit Toaster verwechselt werden und zweitens hätte ich das auch gern beibehalten."


Hier ein Mitschnitt:

[18:57] --> kwolf hat den Kanal betreten (~toaster@euirc-792ebba6.cust.tele2.at).
[18:57] <kwolf> re
[18:57] <kwolf> so
[18:57] <kwolf> also um etwas klarzustellen
[18:58] <kwolf> ich habe den nick registriert!
[18:58] <kwolf> d.h. taljeth kann ihn eine Minuten verwenden
[18:58] <kwolf> hahaha I never wanna leave the game without at least sayin goodbye

...

[20:08] <stultus> was hatter gemacht, kwolf registiert? ^^
[20:09] <bluecode> jo
[20:09] <taljeth> Jop.
[20:09] <taljeth> Sorry, bei solchen Spielchen mache ich nicht mit. Laßt ihn bitte gebann. Irgendwo ist die Grenze.

...

[20:17] --> kwolf hat den Kanal betreten (~toaster@euirc-792ebba6.cust.tele2.at).
[20:17] <kwolf> also gut
[20:17] <kwolf> du willst, ich tue
[20:17] <taljeth> So, was wolltest du jetzt genau "verhandeln"?
[20:17] <kwolf> ich wäre ja sowieso dass du dir den nick *verdienst*
[20:18] <taljeth> Dein Motiv würde mich ja doch mal interessieren...
[20:18] <kwolf> also mein Angebot:
[20:18] <kwolf> -> query
[20:19] <taljeth> Nein, hier.
[20:19] <kwolf> ok gut
[20:19] <kwolf> ich will das, was du mir ohne Grund weggenommen hast
[20:19] <kwolf> du weißt was ich meine
[20:19] <taljeth> [20:30] *kwolf* rechte in der Magazins internen Section
[20:19] <taljeth> [20:30] *kwolf* die du mir Grundlos weggenommen hast
[20:19] <kwolf> genau
[20:20] <taljeth> Dazu möchte ich nur sagen, daß ich an den Rechten des Boards nichts verändert habe.
[20:20] <kwolf> du hättest es längst per Mausklick ändern können
[20:20] <kwolf> - noch dazu habe ich dich mehrmals darum gebeten
[20:21] <taljeth> stultus: Du bist Magazinschef. Steht da irgendwas schützenswertes drin oder kann ich das Board einfach mit dem normalen Magazinsboard mergen?
[20:21] <kwolf> schlechte Idee
[20:22] <kwolf> das war zu Joachims zeiten
[20:22] <taljeth> Wir wollten sowieso schon lang überflüssige Boards aufräumen. Das interne Magazinsboard gehört definitiv dazu.
[20:22] <kwolf> also müsstest du Joachim Neu fragen
[20:22] <kwolf> gibts noch geheime sections?
[20:22] <taljeth> stultus ist sein Nachfolger, also frage ich stultus.
[20:23] <kwolf> der damit zu den zeiten nichts zu tun hatte, hatte er?
[20:23] <taljeth> Es gibt dieses eine interne Board, das ist alles g3h4me, was ich sehe.
[20:23] <kwolf> wie soll ich dir glauben können? nach all dem :S
[20:23] <kwolf> also mein Angebot steht, ich geh mal was drinken
[20:23] <kwolf> trinken mein ich
[20:23] <taljeth> trinken mit t.
[20:23] <kwolf> schon klar
[20:24] <taljeth> Ich hab dich nie angelogen, insofern sollte es für dich kein Problem sein, mir zu glauben.
[20:24] <kwolf> Na dann weißt du ja was zu tun ist.
[20:24] <FreakyPenguin> Toaster: ich find das total schei**e was du hier abziehst. zuerst "klaust" du taljeths nick, dann erpresst du ihn damit
[20:24] <taljeth> stultus ist am Zug, zu entscheiden, was mit den paar Threads passiert. Meiner Meinung nach sind sie relativ langweilig.
[20:25] <kwolf> du bist am Zug, nicht stultus
[20:25] <kwolf> du kannst mir die "rechte" geben zugriff zur magazinssection
[20:25] <fkrauthan> ich finds acuh kacke Toaste von dir
[20:25] <taljeth> stultus ist am Zug. Ich werde jetzt nicht wegen einem gestörten Typen wie dir die Zuständigkeiten mißachten, Toaster.
[20:25] <kwolf> es geht nicht anders krauti & fp
[20:26] <kwolf> ach wie war denn das mit dem admin werden?
[20:26] <FreakyPenguin> aber sicher doch
[20:26] <taljeth> Außer dir hat sich nie jemand gestört, Toaster, und damit bist du klar in der Minderheit.
[20:26] <kwolf> es ist die einzige möglichkeit
[20:27] <kwolf> ich hol mir jetzt genuine was zu trinken
[20:28] <fkrauthan> ohmann
[20:28] <fkrauthan> also ich bind afür das wir TOaster aus dem chanel und asu dem Forum bannen
[20:28] <fkrauthan> und zwar für immer
[20:28] <fkrauthan> weil sowas find eich gehört in eine comunity einfach nciht rein
[20:28] <kwolf> ach was
[20:29] <taljeth> Ich werde das zumindest in Bezug auf das Forum nicht machen, sonst heißt es wieder was von persönlicher Rache oder was auch immer.
[20:29] <kwolf> das sagt der richtige
[20:29] <kwolf> jup das wäre so
[20:29] <fkrauthan> ist so Toaster das was du hrie abzihst is asso
[20:29] <kwolf> und krauti: das ist nicht deine angelegenheit
[20:29] <taljeth> Bzw. ich werde es nur dann tun, wenn ein überwältigender Teil der Aktiven im Forum mich darum bittet.

...

[20:38] <kwolf> Ich mache bei deinen Spielchen nicht mit...
[20:38] <kwolf> ob du bei meinen mitmachst, liegt bei dir^^

...

[20:58] <taljeth> Ich nehme es als das, was es ist, als einen Erpressungsversuch.
[20:58] <taljeth> Und ich lasse mich nicht erpressen.
[20:59] <taljeth> Ich handle?

...

[21:01] *** taljeth verhängt einen Bann über *!~toaster@euirc-792ebba6.cust.tele2.at.



Das ganze hatte zur Folge, dass Toaster, wie die letzte Zeile zeigt, aus dem Kanal verbannt wurde. Ob Toaster weiter im Forum aktiv bleiben darf ist noch unklar.
13
OS-Design / Mikrokernel - Frage
« am: 06. November 2006, 09:11 »
Hallo

Ich bin dabei einen Mikrokernel zu entwickeln. Nun habe ich dazu noch ein paar Punkte die mir noch nicht klar geworden sind.

Im moment beschäftige ich mich vorallem mit der Speicherverwaltung. Ich möchte versuchen, die Speicherverwaltung ganz aus dem Kernel zu verbannen. Aber beim initialisieren des Systems muss ich wohl eine temporäre Speicherverwaltung einrichten, oder? Wie verwalte ich denn dort den Speicher am einfachsten? Bis jetzt habe ich das ganze im Kernel mit einer Linked-List gelöst, was aber nicht sehr praktisch ist, um dem Pager mitzuteilen, über welche Bereich er verfügen darf. Welcher Ansatz ist denn hier am sinnvollsten?

Vielen Dank

MfG Toni
14
OS-Design / YoctOS - Designfragen
« am: 19. September 2006, 21:36 »
Hallo Zusammen

Ich ahb mich in letzter zeit wieder ein wenig mehr mit OS-Dev beschäftigt und beschlossen bei meinem OS von vorne zu beginnen, aufgrund schwerer Designfehler. Nuch habe ich mir aber diesmal vorgenommen, nicht wie wild drauf los zu coden, sondern zuerst einigermassen ein konzept zu entwerfen.


Ich hätte gerne mal einen kommentar, was ihr so von meinem Konzept haltet.

Im moment arbeite ich vorallem an der Speicherverwaltung.

Könntet ihr mir mail ein paar Kommentare dazu abgeben ?

Link: http://famkaufmann.info/~toni/wiki/index.php/YoctOS

Vielen Dank

MfG Togi
15
Lowlevel-Coding / Real Time Clock - Komische werte
« am: 01. November 2005, 07:57 »
Hallo zusammen

Ich hab versucht in meinem OS die Zeit ausm CMOS auszulesen. Das auslesen klappt auch schon. Die werte werden alle 0,1 Sekunden ausgelesen. Nun, hab ich festgestellt, dass die Zahlen kömische sprünge machn. Da wir zum Beispiel bis 27 hochgezählt der nächste Wert ist dann 32. Und so weiter bis 90 (glaub ich). Ich vermute, das es dann aber mit all den schritten doch wieder 60 Sekunden sind  :?.

Hat jemand eine ahnung  was das sein könnte ?


Gruss Toni
16
Lowlevel-Coding / Tastaturtreiber Problem
« am: 01. June 2005, 18:02 »
Hallo mal Wieder
Ich bin dabei meinen Tastaturtreiber zu schreiben. Nun, seit einiger zeit sagt boch nach ca. 40 Tastendrücken immer folgende meldung ausgibt.
nternal keyboard buffer full, ignoring scancode.

ich weiss nicht wo ich den fehler noch suchen könnte.


Hier ist der Code:


int0x21:

xor eax,eax
in al,0x60

push eax
call PutByte
pop eax

cmp al, 0xE0
je .ende
cmp al, 0x00
je .ende
cmp al, 0xff
je .ende


mov al,BYTE [Keycodetable + eax]

call PutByte


.ende



 mov al, 0x20
 out 0x20,al
 
iret


Sieht jemand den Fehler ?

Vielen dasnk im voraus

gruss Togi
17
Lowlevel-Coding / Problem Mit IDT
« am: 18. May 2005, 16:05 »
Hallo Mal wider,
Ich habe in meinem OS versucht ne IDT zu erstellen. Nun, zum testen hab ich ersteimal nur für den int0 einen Eintrag erstellt. Zum Testen des Eintrags wollte ich einfach eine Division durch Null machen. Doch bochs sgtartet immer neu mit dem fehler:
Exception():3rd <13> exception with no resolution, shutdown status is 00h, resetting


Und hier noch ein auschnitt aus meinem code:

; =================[ PIC ]===============================
mov al, 00010001b
out 0x20, al
out 0xA0, al

mov al, 0x20
out 0x21, al
mov al, 0x28
out 0xA1, al

mov al, 00000100b
out 0x21, al
mov al, 0x02
out 0xA1, al

mov al, 00000001b
out 0x21, al
out 0xA1, al

mov al,0x0
out 0x21, al
out 0xA1, al
; =================[ Main ]==============================

call ClearScreen

mov esi, Msg_Welcome
call PutString



lidt [idt_pointer]



 
mov ax,330
mov dh,0
div dh



jmp $
; =================[ End ]===============================
cli ; disable interrupts.
hlt ; halt the cpu.
; =================[ Misc Data ]=========================
CursorPosition dd 0x00000000
Background db 0x0706
Msg_Welcome db ">>Welcome To Easy Operating System", 0
msga db  "AAA"; 0

delay:
   jmp .1
.1:
   jmp .2
.2:
   ret

ClearScreen:
mov ecx, 80 * 25
xor edx, edx
mov ax, 0x0018
mov es, ax
.1:
mov byte [es:edx], ' '
inc edx
push ax
mov al, [Background]
mov byte [es:edx], al
pop ax
inc edx
loop .1
mov word [CursorPosition], 0
mov ax, 0x0010
mov es, ax
retn

PutString:
mov edx, [CursorPosition]
mov ax, 0x0018
mov es, ax
.1:
lodsb
or al, al
jz short .2
mov byte [es:edx], al
inc edx
push ax
mov al, [Background]
mov byte [es:edx], al
pop ax
inc edx
jmp .1
.2:
mov [CursorPosition], dx
mov ax, 0x0010
mov es, ax
retn


retn

;Interrupt ServiceRoutines
int0t db "Division durch 0 !!!",0

int0x00:
cli
mov esi, int0t
call PutString
retn
int0x01:
cli
mov esi, int0t
call PutString
retn
int0x02:
cli
mov esi, int0t
call PutString
retn
int0x03:
cli
mov esi, int0t
call PutString
retn
int0x04:
cli
mov esi, int0t
call PutString
retn
int0x05:
cli
mov esi, int0t
call PutString
retn
int0x06:
cli
mov esi, int0t
call PutString
retn
int0x07:
cli
mov esi, int0t
call PutString
retn
int0x08:
cli
mov esi, int0t
call PutString
retn
int0x09:
cli
mov esi, int0t
call PutString
retn
int0x0a:
cli
mov esi, int0t
call PutString
retn

idt_pointer:
   dw idt_end - idt - 1
   dd idt


idt:
;int 0x00
dw int0x00
dw 0x10
dw 0x8E00
dw 0x0000

;int 0x01
dw int0x01
dw 0x10
dw 0x8E00
dw 0x0000

;int 0x02
dw int0x02
dw 0x10
dw 0x8E00
dw 0x0000

;int 0x03
dw int0x03
dw 0x10
dw 0x8E00
dw 0x0000

;int 0x04
dw int0x04
dw 0x10
dw 0x8E00
dw 0x0000

;int 0x05
dw int0x05
dw 0x10
dw 0x8E00
dw 0x0000

;int 0x06
dw int0x06
dw 0x10
dw 0x8E00
dw 0x0000

;int 0x07
dw int0x07
dw 0x10
dw 0x8E00
dw 0x0000

;int 0x08
dw int0x08
dw 0x10
dw 0x8E00
dw 0x0000

;int 0x09
dw int0x09
dw 0x10
dw 0x8E00
dw 0x0000
idt_end:



Kann mir jemand sagen, was ich falsch mache ?

Vielen Dank,

Mit Freundlichen güssen Togi
18
Lowlevel-Coding / Komische Linkerfehlermeldung
« am: 17. May 2005, 20:48 »
Hallo zusammen
Ich hab begonnen meinen Kernel für grub abzuändern. Multibootheader, hab ich. Nun hab ich gehört(und gemerkt), dass grub nur mit dem ELF Format zurecht kommt. Also hab ich meinen kernel mit
nasmw -f elf -o kernel.elf kernel.asm
assembliert und wolltewin mit linken, mit demfolgenden aufruf:
ld kernel.elf -e  start --oformat elf32-i386 -Ttext 0x10000 -o kernel.bin
nun, gibt mir der linker die Folgende Fehlermeldung zurück:
ld: warning: cannot find entry symbol start; defaulting to 00010000
kernel.elf: In function `_start':
kernel.asm:(.text+0x1d): relocation truncated to fit: R_386_16 against `.text'
üld: warning: cannot find entry symbol start; defaulting to 00010000
kernel.elf: In function `_start':
kernel.asm:(.text+0x1d): relocation truncated to fit: R_386_16 against `.text'

Dier erste zeile sagt ja aus, das er das Label _Start  nicht finden kann, obwohl ich es mit _start erstellt habe. Was mache ich falsch ?

Und mit den 2 Nächsten Zeilen, kann ich überhaupt nichts anfangen.
ich habe auch nirgens das label .text definiert.

Kann mir jamand sagen wo der oderdie Fehler liegen könnten   ?


Vielenm Dank

Liebe Grüsse Togi[/code]
19
Lowlevel-Coding / Problem mit PM
« am: 07. November 2004, 16:23 »
Hallo zusammen
Ich habe den Code vom PM-Tut mal einfach runtergeladen und ein wenig modifiziert:
[BITS 16] ;16 Bit Code erstellen
jmp start ;GDT überspringen

NULL_Desc:
dd 0
dd 0

CODE_Desc:
dw 0xFFFF ;Segmentgröße Byte 0/1
dw 0 ;Segmentbasisadresse Byte 0/1
db 0 ;Segmentbasisadresse Byte 2
db 10011010b ;Zugriffsberechtigungen
db 11001111b ;Zusatz + Segmentgröße Bits 16 - 19
db 0 ;Segmentbasisadresse Byte 3


DATA_Desc:
dw 0xFFFF
dw 0
db 0
db 0x92
db 0xCF
db 0

gdt:
Limit dw 0 ;Größe der GDT (wird später eingetragen)
Base dd 0 ;Adresse der GDT (wird später eingetragen)


start:

cli ;Interrupts ausschalten

mov eax, cs ;EAX auf derzeitiges Codesegment setzen
mov ds, ax ;DS auf Codesegment setzen

shl eax, 4 ;EAX mit 16 multiplizieren (Lineare Adresse
;des Codesegments errechnen)
mov [CODE_Desc+2], ax ;Lineare Adresse des Codesegmentes als
mov [DATA_Desc+2], ax ;Startadresse des Code- und Datendeskriptors
shr eax, 16 ;eintragen
mov [CODE_Desc+4], al
mov [DATA_Desc+4], al

mov eax, cs ;Startadresse der GDT errechnen
shl eax, 4
add eax, NULL_Desc

mov [Base], eax ;Startadresse der GDT eintragen
mov [Limit], WORD gdt - NULL_Desc -1 ;Größe der GDT errechnen und eintragen

lgdt [gdt] ;GDT laden

mov eax, cr0 ;In den Protected Mode schalten,
or eax, 1 ;indem Bit 0 des CR0 Registers auf 1
mov cr0, eax ;gesetzt wird

db 0xea ;FAR-JUMP zum Codesegment
dw PMODE
dw 0x8


[BITS 32] ;32 Bit Code erstellen

PMODE:
mov WORD [CODE_Desc+2], 0 ;Code Segmentstartaddresse auf 0 setzen
mov WORD [DATA_Desc+2], 0 ;Daten Segmentstartadresse auf 0 setzen
mov BYTE [CODE_Desc+4], 0 ;Code Segmentstartaddresse auf 0 setzen
mov BYTE [DATA_Desc+4], 0 ;Daten Segmentstartadresse auf 0 setzen

mov eax, 2 ;Selektor für das Datensegment erstellen
shl eax, 3

mov ds, ax ;Daten- Stack- und Extrasegment mit
mov ss, ax ;Datensegmentdeskriptor laden
mov es, ax
mov eax, 0 ;FS und GS mit Null-Deskriptor laden
mov fs, ax
mov gs, ax
mov esp, 0x1FFFFF ;Stack auf unterhalb der 2 MB Grenze setzen

jmp 0x8:0x10000 + PMODE2 ;Sprung in das "neue" Codesegment

PMODE2:
dw 0x0746
mov EDI, 0xB8002
mov ax, WORD[PMODE2+1]

stosw
jmp END ;Zum Ende Springen

times 512-($-$$) db 0; ;Da der Linker sich nicht mit ungeraden
;Dateigrößen verträgt, wird diese Datei auf 512
;gepaddet.

END:


Nun, wenn ich diesen code mit dem bootloader lade startet der pc einfach neu. Kann mir jemand helfen ?


Gruss Togi[/code]
20
Lowlevel-Coding / Zeichen von der Tastaur einlesen im PM
« am: 25. June 2004, 17:13 »
Hallo

Ich habe schon einmal gefragt wie man ein Zeichen im PM ausgibt.
Jetzt noch die Frage : wie liest man ein Zeichen von der tastatur ein ?

gruss Toni
Seiten: [1] 2

Einloggen