Autor Thema: Suche möglichst einfaches realmode OS  (Gelesen 9551 mal)

bluecode

  • Beiträge: 1 391
    • Profil anzeigen
    • lightOS
Gespeichert
« am: 17. July 2006, 11:35 »
hi,

ich such grad für MyEmu ein einfaches, open-source realmode OS, welches aber folgendes kann:
* Disketten
* irgendein Dateisystem
* PS/2 Tastatur
* evtl. ein paar kleine Programme dabei
Desweiteren sollte es auf keinen Fall auf mehr Hardware als - PIT, PIC, DMA, Floppy, CMOS, PS/2 Tastatur und natürlich den Bildschirm (aber im Textmodus) - zugreifen und wenn möglich all das auch noch über das BIOS machen

Ich weiß, viele Anforderungen, aber ich hoffe ihr könnt mir trotzdem weiterhelfen. Danke :)
lightOS
"Überlegen sie mal 'nen Augenblick, dann lösen sich die ganzen Widersprüche auf. Die Wut wird noch größer, aber die intellektuelle Verwirrung lässt nach.", Georg Schramm

bitmaster

  • Troll
  • Beiträge: 1 138
    • Profil anzeigen
    • OS-64 = 64 Bit Operating System
Gespeichert
« Antwort #1 am: 17. July 2006, 12:51 »
Zitat von: bluecode
hi,

ich such grad für MyEmu ein einfaches, open-source realmode OS, welches aber folgendes kann:
* Disketten
* irgendein Dateisystem
* PS/2 Tastatur
* evtl. ein paar kleine Programme dabei
Desweiteren sollte es auf keinen Fall auf mehr Hardware als - PIT, PIC, DMA, Floppy, CMOS, PS/2 Tastatur und natürlich den Bildschirm (aber im Textmodus) - zugreifen und wenn möglich all das auch noch über das BIOS machen

Ich weiß, viele Anforderungen, aber ich hoffe ihr könnt mir trotzdem weiterhelfen. Danke :)
Da denke ich gerade so an meinem RM-OS was so gut wie abgeschlossen ist. Ich könnte dir aber eine Vorversion geben, damit du nicht warten musst bis es fertig ist. Es hat ein eigenes Dateisystem, greift nur auf Disketten zu (nicht auf Festplatte), kann mit PS/2, Serielle Mäuse umgehen, hat einen deutschen Tastaturtreiber (der bei der Vorversion aber noch nicht dabei wäre) und eine kleine Programmiersprache ähnlich wie unter das die *.bat bei mir die *.cmd (die aber unter der Vorversion noch nicht dabei wären). Oder du schaust dir meine ganz alte Version an (schlechtes Dateisystem etc.) unter http://www.osm-page.de. Dort die OS/M Beta.

bitmaster
In the Future everyone will need OS-64!!!

Biehler Productions

  • Beiträge: 51
    • Profil anzeigen
    • http://bielos.de.tk
Gespeichert
« Antwort #2 am: 17. July 2006, 19:41 »
@topic
mal ne Frage:
Ich hab mir den mal runtergeladen und versucht, mein OS auszuführen.
(Ist schon etwas länger her).
Da blieb der Emu hängen, beim Versuch, die IVT zu verändern.
Geht das eigentlich nun?

bluecode

  • Beiträge: 1 391
    • Profil anzeigen
    • lightOS
Gespeichert
« Antwort #3 am: 17. July 2006, 20:11 »
@bitmaster: Find ich echt nice von dir :D Es hat glaub ich noch ein bisschen Zeit... Ich denke DarkThing & ich müssen wohl noch einiges machen bis es richtig funktioniert. Wann kommt den ungefähr der nächste Release deines OS? Gibs den Sourcecode eigentlich dazu (Wär mir persöhnlich schon wichtig, den Source mit Kommentaren und Labeln zu haben und nicht nur ein Disassembly. So debugt sich der Emulator einfacher)?

@biehler: Was genau meinst du mit hängenbleiben? Und falls möglich bitte das Log posten. In der V0.1 hatten wir nähmlich (im nachhinein gesehen) ziemlich viele Fehler beim Ausführen der Opcodes. Ansonsten sollten eigentlich mittlerweile sogut wie alle Befehle des 8086 funktionieren. Das und die oben genannten devices wirds dann in der nächsten Version geben :D
Ich hoffe du testest dann bei der nächsten Version dein OS auch wieder :wink:
lightOS
"Überlegen sie mal 'nen Augenblick, dann lösen sich die ganzen Widersprüche auf. Die Wut wird noch größer, aber die intellektuelle Verwirrung lässt nach.", Georg Schramm

bitmaster

  • Troll
  • Beiträge: 1 138
    • Profil anzeigen
    • OS-64 = 64 Bit Operating System
Gespeichert
« Antwort #4 am: 17. July 2006, 20:25 »
Zitat
Wann kommt den ungefähr der nächste Release deines OS?
Also die OS/M 1.0 Build 4 sollte in den nächsten Wochen fertig werden. Es folgen nur noch ein paar Versionen bis zur Version 1.0. Das wird dann die erste Vollversion und die letzte Version. Das Projekt OS/M ist dann abgeschlossen.

bitmaster
In the Future everyone will need OS-64!!!

bluecode

  • Beiträge: 1 391
    • Profil anzeigen
    • lightOS
Gespeichert
« Antwort #5 am: 17. July 2006, 21:41 »
[edit: dieses Post hat sich erledigt. Siehe das Post 2 weiter. Sry, für Missverständnise.]
lightOS
"Überlegen sie mal 'nen Augenblick, dann lösen sich die ganzen Widersprüche auf. Die Wut wird noch größer, aber die intellektuelle Verwirrung lässt nach.", Georg Schramm

Legend

  • Beiträge: 635
    • Profil anzeigen
    • http://os.joachimnock.de
Gespeichert
« Antwort #6 am: 18. July 2006, 10:39 »
Zitat von: bluecode
[edit: rofl, vergiss es...]


 :?
*post*

bluecode

  • Beiträge: 1 391
    • Profil anzeigen
    • lightOS
Gespeichert
« Antwort #7 am: 18. July 2006, 14:00 »
:shock: omg... das könnte man ja ganz schön falsch verstehen. Damit meinte ich nicht, dass ich dein OS net will, sondern dass das was in dem Post stand sich erledigt hat (Mein BIOS hatte in deinem Bootsektor die Signatur nicht gefunden, war aber mein Fehler). Ich ändere mal mein Post.... sry, für das Missverständnis.

Zurück zu deinem OS: Ich würde es gern hernehmen, wenn der nächste Release ist, so lang ist das ja nicht mehr und beim Emulator gibts noch einiges zu tun.
lightOS
"Überlegen sie mal 'nen Augenblick, dann lösen sich die ganzen Widersprüche auf. Die Wut wird noch größer, aber die intellektuelle Verwirrung lässt nach.", Georg Schramm

bitmaster

  • Troll
  • Beiträge: 1 138
    • Profil anzeigen
    • OS-64 = 64 Bit Operating System
Gespeichert
« Antwort #8 am: 18. July 2006, 14:26 »
Zitat
Zurück zu deinem OS: Ich würde es gern hernehmen, wenn der nächste Release ist, so lang ist das ja nicht mehr und beim Emulator gibts noch einiges zu tun.
OK, eine Woche dann ist die Build 4 da.

bitmaster
In the Future everyone will need OS-64!!!

Biehler Productions

  • Beiträge: 51
    • Profil anzeigen
    • http://bielos.de.tk
Gespeichert
« Antwort #9 am: 18. July 2006, 15:08 »
Ups, hatte mich vertan, es trat schon vorher ein Fehler auf.

log:
Zitat

0x0:0x7c00 JMP FAR
0x7c0:0x5 MOV R/M16, SREG
0x7c0:0x7 MOV SREG, R/M16
0x7c0:0x9 MOV SREG, R/M16
0x7c0:0xb MOV AX, 0x0
0x7c0:0xe MOV AL, 0x3
0x7c0:0x10 INT 10
0x0:0x0 ADD R/M8, R8
0x0:0x2 ADD R/M8, R8
0x0:0x4 ADD R/M8, R8
0x0:0x6 ADD R/M8, R8
0x0:0x8 ADD R/M8, R8
0x0:0xa ADD R/M8, R8
0x0:0xc ADD R/M8, R8
0x0:0xe ADD R/M8, R8
0x0:0x10 ADD R/M8, R8
0x0:0x12 ADD R/M8, R8
[...]


Entsprechende Codestelle ist:


use16

JMP 07C0H:MAIN

MAIN:
MOV AX,CS
MOV DS,AX
MOV ES,AX



MOV AX,0
MOV AL,3
INT 10H

MOV AX,0
MOV ES,AX

CLI
MOV WORD [ES:6H*4],INT6H
MOV WORD [ES:6H*4+2],CS
MOV AX,9000H
MOV SS,AX
MOV SP,200H
STI


Der Fehler trat also beim Aufruf des INT 10h auf.

Ich werd sicherlich deinen Emulator weiter testen ;)
Schon allein deshalb, weil ich selber auch irgendwann mal einen schreiben will  :D

bluecode

  • Beiträge: 1 391
    • Profil anzeigen
    • lightOS
Gespeichert
« Antwort #10 am: 18. July 2006, 15:24 »
Zitat von: Biehler Productions
Der Fehler trat also beim Aufruf des INT 10h auf.


Jo, das war einer der Hacks :-D Wir hatten kein BIOS, welches irgendwelche Interrupts ausführt. Der Bootsektor wurde direkt beim starten des Emulators geladen und direkt ausgeführt. Da dann in der IVT nur 0x00 stand, springt der Emulator bei jedem Interrupt zu 0:0 und macht da weiter... Und 0x00 ist eben unglücklicherweise sogar noch ein Opcode deswegen macht der dann ganz glücklich weiter :D

Zitat
Ich werd sicherlich deinen Emulator weiter testen ;)


thx, schonmal im voraus.

Zitat
Schon allein deshalb, weil ich selber auch irgendwann mal einen schreiben will  :D

Wenn du Lust hast kannst du auch bei uns mitmachen, wir können Leute gebrauchen (sind ja nur zu zweit). Ansonsten, welche Platform willst du denn emulieren?
lightOS
"Überlegen sie mal 'nen Augenblick, dann lösen sich die ganzen Widersprüche auf. Die Wut wird noch größer, aber die intellektuelle Verwirrung lässt nach.", Georg Schramm

bluecode

  • Beiträge: 1 391
    • Profil anzeigen
    • lightOS
Gespeichert
« Antwort #11 am: 18. July 2006, 20:34 »
@bitmaster: Ich experimentier grad mit der alten Version von OS/M & dem BIOS das ich grad für MyEmu schreibe. Dabei is mir aufgefallen, dass du bei int0x10, funktion 0x0E als Farbe (also in bl) auf 0 setzt. Das sollte doch imho Schwarz auf Schwarz sein. In bochs funktioniert das irgendwie einwandfrei, aber bei meinem BIOS eben net. Wird die Farbe dann irgendwie nicht immer benutzt, oder wie ist das?
lightOS
"Überlegen sie mal 'nen Augenblick, dann lösen sich die ganzen Widersprüche auf. Die Wut wird noch größer, aber die intellektuelle Verwirrung lässt nach.", Georg Schramm

bitmaster

  • Troll
  • Beiträge: 1 138
    • Profil anzeigen
    • OS-64 = 64 Bit Operating System
Gespeichert
« Antwort #12 am: 18. July 2006, 21:59 »
Zitat von: bluecode
@bitmaster: Ich experimentier grad mit der alten Version von OS/M & dem BIOS das ich grad für MyEmu schreibe. Dabei is mir aufgefallen, dass du bei int0x10, funktion 0x0E als Farbe (also in bl) auf 0 setzt. Das sollte doch imho Schwarz auf Schwarz sein. In bochs funktioniert das irgendwie einwandfrei, aber bei meinem BIOS eben net. Wird die Farbe dann irgendwie nicht immer benutzt, oder wie ist das?
Die Farbe wird bei der Funktion 0Eh vom int 10h in bh angegeben. Aber die Farbe wird im Textmodus ignoriert, weswegen ich diese auch nicht setze. Der 0Eh des int 10h schreibt nur das Zeichen, nicht aber die Farbe. Deswegen wird die aktuelle Farbe nicht verändert.

bitmaster
In the Future everyone will need OS-64!!!

Biehler Productions

  • Beiträge: 51
    • Profil anzeigen
    • http://bielos.de.tk
Gespeichert
« Antwort #13 am: 19. July 2006, 19:46 »
Zitat

Wenn du Lust hast kannst du auch bei uns mitmachen, wir können Leute gebrauchen (sind ja nur zu zweit). Ansonsten, welche Platform willst du denn emulieren?


Also ich will ne 86er Platform emulieren.
Allerdings warte ich damit, bis ich mein OS auf ein höheres Niveau gebracht habe, ansonsten käme ich noch langsamer voran, als ich jetzt schon bin.

Noobtotal

  • Beiträge: 54
    • Profil anzeigen
Gespeichert
« Antwort #14 am: 24. July 2006, 23:43 »
Sag mal bluecode, wie siehts mit PM, V86 und so weiter aus? Schliesslich steht da, bis i386 wird schon unterstützt.

bluecode

  • Beiträge: 1 391
    • Profil anzeigen
    • lightOS
Gespeichert
« Antwort #15 am: 25. July 2006, 00:04 »
Zitat von: Noobtotal
Sag mal bluecode, wie siehts mit PM, V86 und so weiter aus? Schliesslich steht da, bis i386 wird schon unterstützt.

Eh, steht wo :?: Wär mir zumindest neu, dass das irgendwo stehen würde :!:
lightOS
"Überlegen sie mal 'nen Augenblick, dann lösen sich die ganzen Widersprüche auf. Die Wut wird noch größer, aber die intellektuelle Verwirrung lässt nach.", Georg Schramm

Noobtotal

  • Beiträge: 54
    • Profil anzeigen
Gespeichert
« Antwort #16 am: 25. July 2006, 12:11 »
    Auf den zweiten Link in deiner Signatur klicken :wink: . :wink:
    Zu Features runterscrollen.
    Dort steht 386, aber ich hab grad gelesen, der wird erst zu unglaublichen 3% unterstützt :shock: .[/list:u]

bitmaster

  • Troll
  • Beiträge: 1 138
    • Profil anzeigen
    • OS-64 = 64 Bit Operating System
Gespeichert
« Antwort #17 am: 25. July 2006, 13:22 »
Zitat
Dort steht 386, aber ich hab grad gelesen, der wird erst zu unglaublichen 3% unterstützt.
Na ja, aber ein Emulator ist auch nicht so einfach zu proggen.

bitmaster
In the Future everyone will need OS-64!!!

Noobtotal

  • Beiträge: 54
    • Profil anzeigen
Gespeichert
« Antwort #18 am: 25. July 2006, 13:44 »
Sagt ja auch keiner, ich meine nur, das ich nicht wirklich dran gedacht habe, das es bei einer Dreiprozentigen unterstützung des ersten funktionirerenden PM-Prozessor es wohl keinen PM gibt :wink: -

bluecode

  • Beiträge: 1 391
    • Profil anzeigen
    • lightOS
Gespeichert
« Antwort #19 am: 25. July 2006, 13:58 »
Da steht ja nur 3% der _Opcodes_ des 386. Der 386 hat sehr viel neue Opcodes gegenüber dem 8086 und dem 286. Protected-Mode wird evtl. in version 0.3 kommen (denke ich zumindest, aber darkthing & ich werden dass dann erst nach der V0.2 entscheiden), aber ich denke, dann auch nur der 16bit pmode.
lightOS
"Überlegen sie mal 'nen Augenblick, dann lösen sich die ganzen Widersprüche auf. Die Wut wird noch größer, aber die intellektuelle Verwirrung lässt nach.", Georg Schramm

 

Einloggen