Bonjour à tous .
Dans le cadre d'une initiation à l'écriture d'un OS, je buche sur le TutoOs de Mr Michelizza (comme beaucoup apparemment), et pour tester le code, je dois écrire le "bootsecteur" sur une disquette. Le problème est que je suis sous Windows et que je ne sais pas comment écrire sur un secteur en particulier.
J'utilise l'IDE AsmEditor qui offre la possibilité d'écrire ce code sur le premier secteur et cela fonctionne parfaitement. Le PC boote comme un grand sur la disquette et affiche le message tant attendu.
Cela se gâte quand je veux écrire le "noyau" sur le second secteur (AsmEditor ne me donne apparemment pas cette fonctionnalité), et mon appel au noyau, si je le mets simplement à la suite du mot 0xAA55 (en espérant naïvement que le secteur n°2 suive tout bêtement le secteur n°1), est sans résultat (je m'en doutais un peu). Il semblerait, en plus, que l'écriture sur le premier secteur supprime le formatage de ma disquette.
J'ai donc (quel culot) essayé de me faire un petit utilitaire avec Lazarus et l'assembleur "in line", en utilisant le service 03h de Int 0x13 du bios pour écrire directement sur le secteur de mon choix, mais... :plantage!
J'ai également essayé le service de formatage (05h) de la même interruption avec le même résultat (rogntudjieu)
Je me pose donc un tas de questions.
1 - Comment écrire à volonté sur le (ou les) secteurs désiré? Résolu: Mauvaise initialisation du buffer ES:BX .
2 - Que fait, exactement, le formatage sur la disquette? Comment sont marqués les pistes et les secteurs?
3 - Comment rendre "vierge" une disquette formatée (pas uniquement effacer les données, mais effacer le formatage)?
4 - Est-ce que Windows XP interdit l'usage de Int 0x13 de la même manière qu'il empêche d'écrire sur les ports parallèles et séries?
5 - ...Je m'arrête là pour l'instant sinon on va me déconnecter.
Cette initiation aux OS est donc très intéressante car elle amène à un tas de questions. Encore faut-il trouver une réponse à ces questions. Mes recherches n'ayant pas donné de résultat satisfaisant, je les poste ici en espérant qu'elles ne soient pas trop triviales et ne sortent pas trop du cadre de ce forum.
J'attends vos commentaires avec impatience et vous en remercie par avance.
Amicalement, Hervé .
PS: J'utilise en majeur partie Windows SP et un peu Mandriva Linux 2006 mais je dispose sur de vieux Ordis de Windows98 et Windows95 (donc de Dos). Je n'utilise pas beaucoup Linux car j'ai du mal à m'en sortir quand j'ai un problème, notamment lors d'installation ou de mise à jours de logiciels (j'ai des misères avec Lazarus/Mandriva. Je rêve d'un Lazarus tournant sous ReactOs). C'est dommage car j'aime bien la démarche du Libre, mais elle implique dans beaucoup de cas une connaissance solide de l'Anglais, ce que je n'ai malheureusement pas.
Partager