Hypercell ein ] Hypercell aus ] Zeige Navigation ] Verstecke Navigation ]
c++.de  
   

Die mobilen Seiten von c++.de:
http://m.c-plusplus.de
Infos hier [BETA]

  
c++.de :: Projekt: OS-Development  ::  Sourcecode Fortschritt  
Gehen Sie zu Seite Zurück  1, 2, 3, 4 ... 149, 150, 151  Weiter
  Zeige alle Beiträge auf einer Seite
Auf Beitrag antworten
Autor Nachricht
Erhard Henkes
Mitglied

Benutzerprofil
Anmeldungsdatum: 25.04.2000
Beiträge: 12168
Beitrag Erhard Henkes Mitglied 20:45:26 13.12.2009   Titel:              Zitieren

Version 47:
http://prettyos.svn.sourc ....... ?view=rev&revision=47

Nun überall Großschrift in den asm für die Dateinamen (BL1, BL2)
Alles auf BIN gesetzt (nicht mehr SYS)
Fehler im makefile berichtigt: start.asm (user) wurde nicht assembliert

Nun gibt es einen ASSERTION Fehler:
ASSERTION FAILED((const void*)(header->entry) == USERCODE_VADDR) at kernel/elf.c
:153OPERATING SYSTEM HALTED

_________________
OS-Development-, C++, Win32-API-, MFC-, Chemie-, Robotik- und Flugsimulator-Tutorials
http://www.henkessoft.de/index.htm


Zuletzt bearbeitet von Erhard Henkes am 20:55:23 13.12.2009, insgesamt 1-mal bearbeitet
Badestrand
Mitglied

Benutzerprofil
Anmeldungsdatum: 29.08.2006
Beiträge: 4342
Beitrag Badestrand Mitglied 21:18:42 13.12.2009   Titel:              Zitieren

Sorry für die Verwirrung! Bin auch gerade online gegangen weil ich die Fehler bemerkt hatte, beim Übertragen auf den INet-Rechner ist wohl was schief gelaufen.

Die meisten Sachen hast du ja erfolgreich behoben, die start.asm aus dem User-Prozess muss noch mitkompiliert werden (ist irgendwie aus dem Makefile rausgeflutscht) und ein assert muss aus elf.c raus:
ASSERT( (const void*)(header->entry) == USERCODE_VADDR );
Das User-Programm startet nämlich nicht bei 0x01400000, sondern 0x200 Bytes später. Warum auch immer. Funktioniert aber trotzdem.
=> Version 48
Erhard Henkes
Mitglied

Benutzerprofil
Anmeldungsdatum: 25.04.2000
Beiträge: 12168
Beitrag Erhard Henkes Mitglied 21:25:20 13.12.2009   Titel:              Zitieren

Folgendes geht bei mir lokal:

- ASSERTION in Zeile 153 auskommentiert, damit die shell startet (Grund für diese Maßnahme momentan unklar)
- readelf und batch-Datei in User
- floppy_build.bat für direktes Starten des Build-Prozesses im Explorers

Momentan kann ich nicht committen wegen Konflikt

Super! Badestrand und ich haben das gleiche gemacht. Ich schieb mal meine Luxusklasse-Ausführung für faule Windows-Anwender hinterher:

Version 49
http://prettyos.svn.sourc ....... ?view=rev&revision=49

In bochs bevorzuge ich übrigens
Zitat:
floppya: 1_44=a:, status=inserted

Vielleicht sollte man auf Dauer zwei verschiedene versionen anbieten.

_________________
OS-Development-, C++, Win32-API-, MFC-, Chemie-, Robotik- und Flugsimulator-Tutorials
http://www.henkessoft.de/index.htm


Zuletzt bearbeitet von Erhard Henkes am 20:23:55 14.12.2009, insgesamt 7-mal bearbeitet
Erhard Henkes
Mitglied

Benutzerprofil
Anmeldungsdatum: 25.04.2000
Beiträge: 12168
Beitrag Erhard Henkes Mitglied 20:24:19 14.12.2009   Titel:              Zitieren

Version 50:
http://prettyos.svn.sourc ....... ?view=rev&revision=50

Nun ist BOOT2.BIN und KERNEL.BIN im makefile groß geschrieben, damit es auch unter Linux problemlos läuft. :)

elf.c:
Zeile 129: ASSERT( header->phnum == 1 );
Zeile 152: ASSERT( (const void*)(ph->vaddr) == USERCODE_VADDR );
müssen evtl. unter Linux noch auskommentiert werden.

In Windows klappt das mit dem Cross-Compiler auch mit den ASSERTs.

_________________
OS-Development-, C++, Win32-API-, MFC-, Chemie-, Robotik- und Flugsimulator-Tutorials
http://www.henkessoft.de/index.htm
Erhard Henkes
Mitglied

Benutzerprofil
Anmeldungsdatum: 25.04.2000
Beiträge: 12168
Beitrag Erhard Henkes Mitglied 02:09:56 23.12.2009   Titel:              Zitieren

Version 51: (badestrand)
http://prettyos.svn.sourc ....... ?view=rev&revision=51
- Run the build.bat file with qemufloppy or qemuimage as parameter to start qemu.

Version 52: (Erhard Henkes)
http://prettyos.svn.sourc ....... ?view=rev&revision=52
- Systemfrequenz auf 1000 Hz erhöht
- getCurrentMilliseconds() ergänzt (syscall)
- "Zug" bewegt sich alle 20 Millisekunden flüssig nach vorne

Es war mir ein Bedürfnis den "Zug" (Beispielanwendung für das dreizeilige Laufband) zu :xmas1: Weihnachten :xmas2: betriebsbereit zu haben. Er läuft im User-Bereich (z.Z. noch in der Shell) lässt sich durch den neuen Millisekunden-Timer und die neue System-Frequenz von 1000 Hz ziemlich rasant über den Bildschirm bewegen. Leider ist er noch keine eigene Task. Daher kann man ihn z.B. mit langwierigen Aktionen wie 'fdir' ausstoppen.

;) Anstelle des Zuges könnte auch Ihre Werbung stehen. ;)

_________________
OS-Development-, C++, Win32-API-, MFC-, Chemie-, Robotik- und Flugsimulator-Tutorials
http://www.henkessoft.de/index.htm


Zuletzt bearbeitet von Erhard Henkes am 02:39:14 23.12.2009, insgesamt 4-mal bearbeitet
Erhard Henkes
Mitglied

Benutzerprofil
Anmeldungsdatum: 25.04.2000
Beiträge: 12168
Beitrag Erhard Henkes Mitglied 19:41:35 23.12.2009   Titel:              Zitieren

Version 53:
http://prettyos.svn.sourc ....... ?view=rev&revision=53

- Folgendes auskommentiert in elf.c:
Zeile 11: static const void* USERCODE_VADDR = (void*)0x01400000;
Zeile 129: ASSERT( header->phnum == 1 );
Zeile 152: ASSERT( (const void*)(ph->vaddr) == USERCODE_VADDR );

- Folgendes ergänzt:
Zu den CFLAGS noch "-m32" hinzufügen
In die Linkerscripte (kernel.ld, user.ld) "OUTPUT_ARCH(i386)" hinzufügen

Nun sollte es von Seiten Linux und 64-Bit keine Barrieren geben. Erste Tests bestätigen dies! :)

http://www.cyberciti.biz/ ....... ing-gcc-64-bit-linux.html

_________________
OS-Development-, C++, Win32-API-, MFC-, Chemie-, Robotik- und Flugsimulator-Tutorials
http://www.henkessoft.de/index.htm


Zuletzt bearbeitet von Erhard Henkes am 20:11:56 23.12.2009, insgesamt 3-mal bearbeitet
Erhard Henkes
Mitglied

Benutzerprofil
Anmeldungsdatum: 25.04.2000
Beiträge: 12168
Beitrag Erhard Henkes Mitglied 12:23:04 24.12.2009   Titel:              Zitieren

Version 54:
http://prettyos.svn.sourc ....... ?view=rev&revision=54

- build.sh für Linux ergänzt
- tools/bochsrc ergänzt
- Zug auf vielfachen Wunsch etwas ausgebremst (40 Zeichen/sec) :xmas1:

Der "Zug" steht nur stellvertretend für das zukünftige Informationsband, in dem Diagnosedaten angegeben werden. Wir wollen ja ein Lehr-OS schaffen.

_________________
OS-Development-, C++, Win32-API-, MFC-, Chemie-, Robotik- und Flugsimulator-Tutorials
http://www.henkessoft.de/index.htm


Zuletzt bearbeitet von Erhard Henkes am 15:40:28 24.12.2009, insgesamt 1-mal bearbeitet
Erhard Henkes
Mitglied

Benutzerprofil
Anmeldungsdatum: 25.04.2000
Beiträge: 12168
Beitrag Erhard Henkes Mitglied 13:38:50 25.12.2009   Titel:              Zitieren

Version 55:

http://prettyos.svn.sourc ....... ?view=rev&revision=55

-fno-pic im makefile ergänzt
in userlib.c __asm__ anstelle asm

Screenshot: http://www.henkessoft.de/OS_Dev/Bilder/Rev55.PNG :)

_________________
OS-Development-, C++, Win32-API-, MFC-, Chemie-, Robotik- und Flugsimulator-Tutorials
http://www.henkessoft.de/index.htm


Zuletzt bearbeitet von Erhard Henkes am 00:49:08 16.01.2010, insgesamt 1-mal bearbeitet
Erhard Henkes
Mitglied

Benutzerprofil
Anmeldungsdatum: 25.04.2000
Beiträge: 12168
Beitrag Erhard Henkes Mitglied 11:50:56 16.01.2010   Titel:              Zitieren

Version 56:

http://prettyos.svn.sourc ....... ?view=rev&revision=56

- flpydsk_read_directory() nach fat12.c ausgelagert, da spezifisch für Dateisystem FAT12

in fat12.h/c sollen die FAT12-spezifischen Funktionen zur Dateiverwaltung auf Floppy Disk abgelegt werden.

_________________
OS-Development-, C++, Win32-API-, MFC-, Chemie-, Robotik- und Flugsimulator-Tutorials
http://www.henkessoft.de/index.htm
Erhard Henkes
Mitglied

Benutzerprofil
Anmeldungsdatum: 25.04.2000
Beiträge: 12168
Beitrag Erhard Henkes Mitglied 20:50:22 24.01.2010   Titel:              Zitieren

Rev. 57:
http://prettyos.svn.sourc ....... ?view=rev&revision=57

- fat12.h/.c: Quickformat für die FloppyDisk implementiert ("fformat")
läuft noch nicht fehlerfrei (FAT2 wird nicht analog zu FAT1 geschrieben), funktioniert aber bereits. Kann auch mit FloppyImage.bin getestet werden. Als Hex-Editor empfehle ich für die echte Floppy den Hex-Editor Neo, da dieser direkt Volumes auslesen kann.

Screenshot: http://www.henkessoft.de/OS_Dev/Bilder/Rev57.PNG

Leider fehlte in dieser Version (vielleicht auch schon vorher in 56) die fat12.c!

_________________
OS-Development-, C++, Win32-API-, MFC-, Chemie-, Robotik- und Flugsimulator-Tutorials
http://www.henkessoft.de/index.htm


Zuletzt bearbeitet von Erhard Henkes am 20:57:58 24.01.2010, insgesamt 2-mal bearbeitet
c++.de :: Projekt: OS-Development  ::  Sourcecode Fortschritt  
Gehen Sie zu Seite Zurück  1, 2, 3, 4 ... 149, 150, 151  Weiter
Auf Beitrag antworten

Zeige alle Beiträge auf einer Seite




Nächstes Thema anzeigen
Vorheriges Thema anzeigen
Sie können Beiträge in dieses Forum schreiben.
Sie können auf Beiträge in diesem Forum antworten.
Sie können Ihre Beiträge in diesem Forum nicht bearbeiten.
Sie können Ihre Beiträge in diesem Forum nicht löschen.
Sie können an Umfragen in diesem Forum nicht mitmachen.

Powered by phpBB © 2001, 2002 phpBB Group :: FI Theme

c++.de ist Teilnehmer des Partnerprogramms von Amazon Europe S.à.r.l. und Partner des Werbeprogramms, das zur Bereitstellung eines Mediums für Websites konzipiert wurde, mittels dessen durch die Platzierung von Werbeanzeigen und Links zu amazon.de Werbekostenerstattung verdient werden kann.

Die Vervielfältigung der auf den Seiten www.c-plusplus.de, www.c-plusplus.info und www.c-plusplus.net enthaltenen Informationen ohne eine schriftliche Genehmigung des Seitenbetreibers ist untersagt (vgl. §4 Urheberrechtsgesetz). Die Nutzung und Änderung der vorgestellten Strukturen und Verfahren in privaten und kommerziellen Softwareanwendungen ist ausdrücklich erlaubt, soweit keine Rechte Dritter verletzt werden. Der Seitenbetreiber übernimmt keine Gewähr für die Funktion einzelner Beiträge oder Programmfragmente, insbesondere übernimmt er keine Haftung für eventuelle aus dem Gebrauch entstehenden Folgeschäden.