Das deutsche QBasic- und FreeBASIC-Forum Foren-Übersicht Das deutsche QBasic- und FreeBASIC-Forum
Für euch erreichbar unter qb-forum.de, fb-forum.de und freebasic-forum.de!
 
FAQFAQ   SuchenSuchen   MitgliederlisteMitgliederliste   BenutzergruppenBenutzergruppen  RegistrierenRegistrieren
ProfilProfil   Einloggen, um private Nachrichten zu lesenEinloggen, um private Nachrichten zu lesen   LoginLogin
Zur Begleitseite des Forums / Chat / Impressum
Aktueller Forenpartner:

Boot-Loader + Noch etwas draufschreiben
Gehe zu Seite Zurück  1, 2, 3, 4, 5  Weiter
 
Neues Thema eröffnen   Neue Antwort erstellen    Das deutsche QBasic- und FreeBASIC-Forum Foren-Übersicht -> Profi-Forum
Vorheriges Thema anzeigen :: Nächstes Thema anzeigen  
Autor Nachricht
Infection 93
gesperrt


Anmeldungsdatum: 11.03.2006
Beiträge: 377
Wohnort: Egal, dort wo ein PC ist.

BeitragVerfasst am: 12.06.2006, 13:35    Titel: Antworten mit Zitat

Ich brauche im Moment NUR das FS. Das Kernel und der Bootloader sind schon fertig.
_________________
Meine Homepage:
www.infection93.org
Und das Forum von mir und King01:
www.infection93.bboard.de
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
Mao



Anmeldungsdatum: 25.09.2005
Beiträge: 4409
Wohnort: /dev/hda1

BeitragVerfasst am: 12.06.2006, 18:32    Titel: Antworten mit Zitat

Aaaaaha. Darf man fragen wie lange du daran "programmiert" hast?
Wenn du einen funktionsfähigen Kernel, der auch was kann, wirklich selbst programmiert hast (bezweifle ich irgendwie), dann müsste ein FS ja nicht _das_ Problem sein, oder?
Schreib' doch ein Programm, was zwischen der von deinem FS formatierten Diskette und Windows die Daten vermittelt.
_________________
Eine handvoll Glück reicht nie für zwei.
--
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Sebastian
Administrator


Anmeldungsdatum: 10.09.2004
Beiträge: 5969
Wohnort: Deutschland

BeitragVerfasst am: 12.06.2006, 18:52    Titel: Antworten mit Zitat

Infection setzt bei seinen Kreationen auf das sog. C&P Verfahren, um schnell irgendetwas bewerkstelligen zu können.

Das Standardwerk an Universitäten, C&P - Methodik bei der Softwareentwicklung hat Folgendes geschrieben:
[...] Die Vorteile dieser Methode liegen auf der Hand. Meist beläuft sich der Programmieraufwand nur auf eine Zeile, die man am sog. C&P Grundstock ändern muss, um ein Programm erfunden zu haben. Modernere Editoren bieten dem C&P Programmierer dabei mit der Suchfunktion eine komfortable Unterstützung an: Man gibt den Terminus "(c)" oder das ASCII-Zeichen 184 als Suchbegriff ein und hat i.d.R. nach einem Klick auf OK gleich die passende Zeile zur Verfügung [...] Sollte sich kein passender C&P Grundstock finden, bietet sich das erweiterte P&C&P Verfahren an, bei dem der erste Buchstabe für "Posting machen" steht, C&P ist auf so gewonnene Sources (=C&P Grundstöcke) ohne größere Probleme anzuwenden. Zu beachten ist, dass in manchen Internetforen vor den eigentlichen C&P Grundstöcken ein "Code:" steht. Wird diese Zeile nicht bei der sog. Markierung (Vorstufe zum C in C&P) ausgelassen, so melden viele Compiler Fehler. Eine Ausnahme ist "Brainfuck" [...]

_________________

Der Markt regelt das! | Opas Leistung muss sich wieder lohnen - für 6 bis 10 Generationen!
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
ytwinky



Anmeldungsdatum: 28.05.2005
Beiträge: 2624
Wohnort: Machteburch

BeitragVerfasst am: 12.06.2006, 19:10    Titel: Antworten mit Zitat

Toll, wenn du selbst so schöne Tutorien schreiben kannst,
brauchst du mir doch keine Themen vorschlagen vor lachen auf dem Boden rollen
Ich brauche keine Angst zu haben, daß mir die Themen ausgehen,
die Praxis zeigt, daß immer Bedarf ist.
Zur Zeit arbeite ich an einem Torturial zur Abschaltung eines PC's vom Dos-Modus aus, habe aber noch nicht den Interrupt gefunden, der den Netzschalter betätigt lachen
Gruß
ytwinky
_________________
v1ctor hat Folgendes geschrieben:
Yeah, i like INPUT$(n) as much as PRINT USING..
..also ungefähr so, wie ich GOTO..
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
pinkpanther



Anmeldungsdatum: 28.05.2005
Beiträge: 79
Wohnort: Wien

BeitragVerfasst am: 12.06.2006, 21:15    Titel: Antworten mit Zitat

Zitat:
Zur Zeit arbeite ich an einem Torturial ...

Speziell für die S/M-Freunde unter den DOS-Usern? durchgeknallt lachen
_________________
lG
pinkpanther lächeln
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden
Jojo
alter Rang


Anmeldungsdatum: 12.02.2005
Beiträge: 9736
Wohnort: Neben der Festplatte

BeitragVerfasst am: 12.06.2006, 21:20    Titel: Antworten mit Zitat

du nimmst mir die worte aus dem mund lachen lachen torturial....tsts... durchgeknallt
_________________
» Die Mathematik wurde geschaffen, um Probleme zu lösen, die es nicht gäbe, wenn die Mathematik nicht erschaffen worden wäre.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
Infection 93
gesperrt


Anmeldungsdatum: 11.03.2006
Beiträge: 377
Wohnort: Egal, dort wo ein PC ist.

BeitragVerfasst am: 13.06.2006, 08:18    Titel: Antworten mit Zitat

Hier ist der unveränderte Quellcode für den Bootmanager und das Kernel:
Code:

nachricht db "Eine Taste drücken, um neu zu starten...",13,10,0
mov ax, 1000h
mov ds, ax
mov es, ax
start:               
mov si, nachricht   
call schreiben     
call lesen       
jmp reset   
schreiben:
lodsb
or al, al
jz short schreiben_d
mov ah, 0x0E
mov bx, 0x0007
int 0x10
jmp schreiben
schreiben_d:
retn
lesen:
mov ah, 0
int 016h
ret
reset:
db 0Eah
dw 0000h
dw 0FFFFh

So, das war das Kernel. Jetzt kommt der Bootmanager:
Code:

org 0x7C00
start:
cli                  ; Keine Interrupts verwenden!
mov ax, 0x9000       ; Adresse des Stack speichern
mov ss, ax           ; Stackadresse festlegen
mov sp, 0            ; Stackpointer auf 0 setzen
sti                  ; Jetzt lassen wir wieder Interrupts zu#
mov [bootdriv], dl
call load
mov ax, 0x1000       ; 0x1000 ist die Speicheradresse unserer Shell
mov es, ax
mov ds, ax
push ax
mov ax, 0
push ax
retf
bootdriv db 0         ; Das Bootlaufwerk 
loadmsg db "Lade VitaXia...",13,10,0

; Mit dieser Funktion geben wir einen String aus
putstr:
lodsb
or al,al
jz short putstrd
mov ah,0x0E
mov bx,0x0007
int 0x10
jmp putstr
putstrd:
retn

; Mit dieser Funktion laden wir unsere Shell vom Bootlaufwerk
load:
push ds
mov ax, 0
mov dl, [bootdriv]
int 13h
pop ds
jc load
load1:
mov ax,0x1000
mov es,ax
mov bx, 0
mov ah, 2
mov al, 5
mov cx, 2
mov dx, 0
int 13h
jc load1
mov si,loadmsg
call putstr
retn
times 512-($-$$)-2 db 0
dw 0AA55h


Ihr alle wisst wohl nicht, wie mich die Programmierung des
Kernels und des Bootmanagers und des FS wurmt, ich kann nur
sagen: DAS IST ÄTZEND!
Man muss so nen Kram einbauen und dazu noch mit so einer langweiligen Sprache wie assembler rummachen!

@Sebastian
Texteditor 1.0 war 100% von mir, meine GUI war auch 100% von mir...
Scandisk ist schon weit weniger von mir und Decode benutzt nur noch zusätzlichen COMMAND$ und den ASCII-Viewer.
Ich habe noch _nie_ bei einem Programm nur meinen Namen druntergeschrieben, und behauptet, es wäre meins. Ich glaube auch nicht dass du sowas bei deinen Programmen gemacht hast. zwinkern verwundert
_________________
Meine Homepage:
www.infection93.org
Und das Forum von mir und King01:
www.infection93.bboard.de
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
DOSe
aka EXP-S


Anmeldungsdatum: 05.07.2005
Beiträge: 96

BeitragVerfasst am: 13.06.2006, 08:48    Titel: Antworten mit Zitat

Kernel nennst du das? das nenne ich ein kleies programm was neu starten kann und einen text auf dem Bildschirm ausgibt.. durchgeknallt
_________________
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Infection 93
gesperrt


Anmeldungsdatum: 11.03.2006
Beiträge: 377
Wohnort: Egal, dort wo ein PC ist.

BeitragVerfasst am: 13.06.2006, 09:03    Titel: Antworten mit Zitat

Und jemand anderes nennt das ein Kernel:
http://www.tutorials.de/forum/programming-tutorials/20706-ein-eigenes-kleines-betriebssystem.html
_________________
Meine Homepage:
www.infection93.org
Und das Forum von mir und King01:
www.infection93.bboard.de
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
ytwinky



Anmeldungsdatum: 28.05.2005
Beiträge: 2624
Wohnort: Machteburch

BeitragVerfasst am: 13.06.2006, 09:25    Titel: Antworten mit Zitat

http://www.freebasic.net/forum/viewtopic.php?t=4324
_________________
v1ctor hat Folgendes geschrieben:
Yeah, i like INPUT$(n) as much as PRINT USING..
..also ungefähr so, wie ich GOTO..
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
Sebastian
Administrator


Anmeldungsdatum: 10.09.2004
Beiträge: 5969
Wohnort: Deutschland

BeitragVerfasst am: 13.06.2006, 11:53    Titel: Antworten mit Zitat

Ja, OK, Infection, war auch nur ein Scherz... zwinkern
_________________

Der Markt regelt das! | Opas Leistung muss sich wieder lohnen - für 6 bis 10 Generationen!
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
Bad_King
gesperrt


Anmeldungsdatum: 15.04.2006
Beiträge: 455
Wohnort: nähe Stuttgart

BeitragVerfasst am: 13.06.2006, 14:38    Titel: Antworten mit Zitat

Das ist zwar ein Programm, das nur ein Tet auf dem Bildschirm als Betriebssystem ausgibt, aber wir wollen es ja auch noch erweitern und umändern undso.
_________________
Mein Server: http://gianluca.dyndns.org
(Ist meistens nur Tagsüber an)
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen MSN Messenger
Mao



Anmeldungsdatum: 25.09.2005
Beiträge: 4409
Wohnort: /dev/hda1

BeitragVerfasst am: 14.06.2006, 13:07    Titel: Antworten mit Zitat

Ich will "deine" "Arbeit" jetzt nicht "zerstören" und ich weiß, dass Bootloader im Allgemeinen nicht sehr unterschiedlich sind, aber der Code ist fast 1:1 von der 1. Ausgabe des Lowlevel-Magazins entnommen. mit dem Kopf durch die Mauer wollen Kopf schütteln
Außerdem kommt ihr mit dem Interrupt 0xE0 nicht weit, da Farben nur in einem Grafikmodus zugelassen sind. Besser sieht's da schon mit 0x09 aus, aber hier müsst ihr euch um das Bewegen des Cursors, das Einfügen neuer Zeilen, etc. kümmern. Steuercodes, zum Beispiel ein CarriageReturn, werden als ASCII-Zeichen auf dem Bildschirm ausgegeben.

Greets,
"Zerstörer" Mao

/edit: Dieser Mensch nennt es einen ersten, kleinen Kernel, um den Erfolg zu zeigen. Ein (guter) funktionsfähiger Kernel ist es noch lange nicht...
_________________
Eine handvoll Glück reicht nie für zwei.
--
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Infection 93
gesperrt


Anmeldungsdatum: 11.03.2006
Beiträge: 377
Wohnort: Egal, dort wo ein PC ist.

BeitragVerfasst am: 14.06.2006, 13:38    Titel: Antworten mit Zitat

Ja und? Wir haben kein Bock, den Kernel selbst zu proggen, wir wollen nur alles _nach_ dem Bootloader und dem Kernel machen, das davor ist äußerst langweilig, zeitraubend und mühsam.
In Assembler zu programmieren macht doch wirklich keinen Spaß, oder?
_________________
Meine Homepage:
www.infection93.org
Und das Forum von mir und King01:
www.infection93.bboard.de
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
Stormy



Anmeldungsdatum: 10.09.2004
Beiträge: 567
Wohnort: Sachsen - wo die schönen Frauen wachsen ;)

BeitragVerfasst am: 14.06.2006, 13:56    Titel: Antworten mit Zitat

Infection 93 hat Folgendes geschrieben:
Ja und? Wir haben kein Bock, den Kernel selbst zu proggen, wir wollen nur alles _nach_ dem Bootloader und dem Kernel machen, das davor ist äußerst langweilig, zeitraubend und mühsam.
In Assembler zu programmieren macht doch wirklich keinen Spaß, oder?


Wozu dann das ganze Tara? Mit dieser Einstellung kommt kein OS zu Stande. Ich glaube, dass jetzt wo du die ganzen Informationen zur OS-Erstellung bekommen hast (von AK, per Tutorials, etc.) du jetzt einfach kleinbei gibst, weil du wohl der Sache nicht gewachsen bist.

Wer so ein Projekt angehen will, muss auch Arbeit investieren.
_________________
+++ QB-City +++ Die virtuelle Stadt für jeden Freelancer - Join the community!
Projekte: QB-City,MysticWorld (RPG), 2D-OpenGL-Tutorial
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
Mao



Anmeldungsdatum: 25.09.2005
Beiträge: 4409
Wohnort: /dev/hda1

BeitragVerfasst am: 14.06.2006, 14:15    Titel: Antworten mit Zitat

Assembler langweilig? Im Gegenteil: die Fehlersuche ist umso spannender! happy Spaß macht's auch.
Warum schreibt ihr dann dazu, dass ihr das OS gecodet habt? Wenn ihr keine Lust habt, soetwas selber zu schreiben, sondern nur die Programme dafür, dann bleib bei Windows/DOS oder gehe zur Linux-Community über. mit dem Kopf durch die Mauer wollen
Langweilig ist es wahrscheinlich, weil du kein bisschen davon verstehst, was dort im Code gemacht wird bzw. was die einzelnen Befehle machen, was der Ablauf dahinter ist. Wenn ich einen Code zum Einfügen eines Interrupt-Handlers irgendwo her kopiere und einfüge, dann verstehe ich davon überhaupt nichts, außer, dass darin der Interrupt in die IVT eingetragen wird. Was genau und Wie und Warum verstehe ich nicht, wenn ich nicht weiß, wie der PC arbeitet. Ohne das Wissen, oder einen Teil davon, ist es recht sinnlos, ein eigenes OS zu "schreiben".

Zum Abschluss schließe ich mich Stormy's letzten Satz an (nur ein kleinwenig abgewandlet):
Stormy hat Folgendes geschrieben:

Wer ein Projekt angehen und durchziehen will, muss auch Arbeit investieren.


Greets,
Mao
_________________
Eine handvoll Glück reicht nie für zwei.
--
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Infection 93
gesperrt


Anmeldungsdatum: 11.03.2006
Beiträge: 377
Wohnort: Egal, dort wo ein PC ist.

BeitragVerfasst am: 14.06.2006, 14:36    Titel: Antworten mit Zitat

Du kannst ja unsere "Freunde" von M$ fragen, wie es ihnen Spaß gemacht hat, den Bootloader für DOS zu erstellen. Und das FAT und den Kernel auch.
Was mich mehr interressieren würde, wäre so ne Art Shell zu schreiben, aber mit einer Art Multitasking:
Man kann nicht direkt mehrere Progs ausführen, sondern man speichert das eine Programm im Speicher ab (mit dem Status) und startet ein anderes.
Dann kann man das zweite "einfrieren" und am anderen weitermachen.

Zur Linux-community? Dann müsste ich meine ganzen Files sichern, Windows löschen, und Linux installieren.

[/edit] Ach ja, wenn wir schon bei assembler sind, kann mir jemand sagen, wie man externe Programme mit BIOS-Interrupts aufruft, was eigentlich durch die OS-Interrupte machen lässt?
_________________
Meine Homepage:
www.infection93.org
Und das Forum von mir und King01:
www.infection93.bboard.de
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
Mao



Anmeldungsdatum: 25.09.2005
Beiträge: 4409
Wohnort: /dev/hda1

BeitragVerfasst am: 14.06.2006, 14:40    Titel: Antworten mit Zitat

Dass DOS in ASM geschrieben ist und dass das bei einem kommerziellem Produkt, welches schnell entwickelt werden muss, ASM nicht die Sprache gewesen sein dürfte, wusste ich. Da DOS aber seit seiner ersten Version im Realmode läuft, kann man nur ASM programmieren (jedenfalls den Startup-Code). Trotzdem wurde DOS meist in ASM geschrieben. C/C++ laufen nur im ProtectedMode (abgesehen von einigen Reines-DOS-Versionen).
So ähnlich arbeit Multitasking bei einem Prozessor unter Windows auch.
_________________
Eine handvoll Glück reicht nie für zwei.
--
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Michael Frey



Anmeldungsdatum: 18.12.2004
Beiträge: 2577
Wohnort: Schweiz

BeitragVerfasst am: 14.06.2006, 18:15    Titel: Antworten mit Zitat

Infection 93 hat Folgendes geschrieben:
Du kannst ja unsere "Freunde" von M$ fragen, wie es ihnen Spaß gemacht hat, den Bootloader für DOS zu erstellen. Und das FAT und den Kernel auch.

Sorry aber:
Wenn man keine Ahnung hat...
http://de.wikipedia.org/wiki/MS-DOS hat Folgendes geschrieben:
MS-DOS wurde ursprünglich als QDOS (Quick and Dirty Operating System = schnell und nicht ganz sauber programmiertes Betriebssystem) von Tim Paterson bei der Firma Seattle Computer Products entwickelt und 1980 an Microsoft verkauft

Also:
Die haben's ähnlich gemacht wie du.
(Copy & Paste, wobei sie gezahlt haben)

Infection 93 hat Folgendes geschrieben:
Was mich mehr interressieren würde, wäre so ne Art Shell zu schreiben, aber mit einer Art Multitasking:

Ich sage mal lieber nichts dazu ...
_________________
http://de.wikibooks.org/wiki/FreeBasic Jede Hilfe für dieses Buch ist Willkommen!
http://de.wikibooks.org/wiki/FreeBasic:_FAQ FAQ zu Freebasic (im Aufbau, hilfe Willkommen)
Neu mit Syntax Highlight
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
DOSe
aka EXP-S


Anmeldungsdatum: 05.07.2005
Beiträge: 96

BeitragVerfasst am: 15.06.2006, 16:54    Titel: Antworten mit Zitat

Infection 93 hat Folgendes geschrieben:
Ja und? Wir haben kein Bock, den Kernel selbst zu proggen, wir wollen nur alles _nach_ dem Bootloader und dem Kernel machen, das davor ist äußerst langweilig, zeitraubend und mühsam.
In Assembler zu programmieren macht doch wirklich keinen Spaß, oder?


Kein bock? hör ich gerne, warum codest du dann überhaupt noch wenn du erst ein ziel ins auge nimmst und dann wenn man einmal nicht weiter kommt gleich aufgibt und kein bock mehr hat?!

bzw wieso musstest du auch unbedingt als anfänger dir in den kopf legen nen eigenes OS zu coden durchgeknallt naja wie heißt es so schön, wenn man nicht schwimmen kann, springt man kaum als erstes vom 10 Meter turm ins kalte nass, sondern fängt da an wo man stehen kann.


Infection 93 hat Folgendes geschrieben:
Du kannst ja unsere "Freunde" von M$ fragen, wie es ihnen Spaß gemacht hat, den Bootloader für DOS zu erstellen. Und das FAT und den Kernel auch.


Denen sollte das auch kein spaß machen, die haben damit ihre brötchen verdient... mit dem Kopf durch die Mauer wollen nur mal soviel dazu.
_________________
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Beiträge der letzten Zeit anzeigen:   
Neues Thema eröffnen   Neue Antwort erstellen    Das deutsche QBasic- und FreeBASIC-Forum Foren-Übersicht -> Profi-Forum Alle Zeiten sind GMT + 1 Stunde
Gehe zu Seite Zurück  1, 2, 3, 4, 5  Weiter
Seite 4 von 5

 
Gehe zu:  
Du kannst keine Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum nicht antworten.
Du kannst deine Beiträge in diesem Forum nicht bearbeiten.
Du kannst deine Beiträge in diesem Forum nicht löschen.
Du kannst an Umfragen in diesem Forum nicht mitmachen.

 Impressum :: Datenschutz