IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Assembleur Discussion :

[Débutant] MBR qui boote sur un cd


Sujet :

Assembleur

  1. #1
    Membre éprouvé
    Avatar de Celelibi
    Profil pro
    Inscrit en
    Janvier 2004
    Messages
    1 087
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2004
    Messages : 1 087
    Points : 1 122
    Points
    1 122
    Par défaut [Débutant] MBR qui boote sur un cd
    voilà, j'aimerais créer une mbr pour la mettre sur une disquette.
    Cette mbr ayant pour seul but de booter sur le cd, comme si c'était le bios qui avait booté dessus.

    Voilà où j'en suis : j'arrive à faire afficher un message texte à l'écran.
    J'ai essayé de charger dans un buffer la mbr du cd puis de faire un jmp dessus, mais il ne se passe rien. À vrai dire je ne suis même pas sûr d'avoir chargé quoi que ce soit.

    /* quelques doc et test plus tard */
    euhhh...
    comment on fait pour lire le cdrom ?
    Apparament on ne peut pas lire les cdrom avec la fonction 2 de l'int 13h.

    Voilà à quoi ressemble mon code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    [BITS 16]
    [ORG 0x0]
     
     
    mov ax,0x07C0
    mov ds,ax
    mov es,ax
    mov ax,0x8000
    mov ss,ax
    mov sp, 0xf000
     
    mov si, message
    aff:
    mov al, [ds:si]
    cmp al, 0
    jz endaff
    mov ah, 0x0e
    int 0x10
    inc si
    jmp aff
    endaff:
     
    xor ax, ax
    int 0x13
     
    mov ah, 2
    mov al, 1
    mov dl, 0x81
    mov bx, buff
    mov ch, 0x00
    mov cl, 0x00
    int 0x13
     
    jmp buff
     
    message db 'Coucou', 13, 10, 0
    buff: db 0

    Merci d'avance à ceux qui pourront m'aider.

    Et puis euhhh...
    Bonne nuit.
    Les vaches ne peuvent PAS voler, quoi qu'elles aient pu vous raconter.

  2. #2
    Membre régulier
    Profil pro
    Inscrit en
    Septembre 2002
    Messages
    96
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2002
    Messages : 96
    Points : 116
    Points
    116
    Par défaut
    Slt Cele
    Tu te mets à l'osdev ?

    Va sur http://www.nondot.org/sabre/os/files/Booting/BootableCDFormat.doc, ils mettent des infos sur les cd bootables ET sur la manière de lire un cd avec l'int 13

    Vouli voulou
    Responsable du projet SKAN (OS à but didactique)
    Contactez moi pour toutes questions ou remarques sur le projet.

  3. #3
    Membre éprouvé
    Avatar de Celelibi
    Profil pro
    Inscrit en
    Janvier 2004
    Messages
    1 087
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2004
    Messages : 1 087
    Points : 1 122
    Points
    1 122
    Par défaut
    En fait je me mets plutôt au recyclage-de-vieilles-machines-dont-le-bios-permet-pas-de-booter-sur-cd.

    Merci pour ce lien, je vais lire cette dic très attentivement.
    Les vaches ne peuvent PAS voler, quoi qu'elles aient pu vous raconter.

  4. #4
    Membre éprouvé
    Avatar de Celelibi
    Profil pro
    Inscrit en
    Janvier 2004
    Messages
    1 087
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2004
    Messages : 1 087
    Points : 1 122
    Points
    1 122
    Par défaut
    Je crois que je vais arrêter de chercher parceque je crois bien que c'est les contrôleur IDE qui sont tous mort. :p
    Aucune interruption n'agit sur le lecteur cd.
    J'ai essayé de l'éjecter, le faire booter, mais dans la plus part des cas il me dit "AH = 01h : Valeurs transmisent incorrectes ou fonction non supportée", ou bien "Erreur de lecture malgré ECC".

    Et puis au passage, un simple "hello world" qui marche sur la machine je marche pas à travers qemu (je ne comprends pas pourquoi).


    Bon voilà, cette machine est complètement morte, mais je vais la garder quand même (tous les geeks doivent avoir des machines mortes chez eux non ?).
    Les vaches ne peuvent PAS voler, quoi qu'elles aient pu vous raconter.

  5. #5
    Responsable Pascal, Lazarus et Assembleur


    Avatar de Alcatîz
    Homme Profil pro
    Ressources humaines
    Inscrit en
    Mars 2003
    Messages
    7 938
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 57
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ressources humaines
    Secteur : Service public

    Informations forums :
    Inscription : Mars 2003
    Messages : 7 938
    Points : 59 417
    Points
    59 417
    Billets dans le blog
    2
    Par défaut
    Bonjour !

    Je ne pense pas que le problème vienne du contrôleur IDE.
    Pour la gestion du CD-ROM, tu pourrais trouver des pistes du côté d'ATAPI :
    http://www.singlix.org/trdos/atapinq.html
    Règles du forum
    Cours et tutoriels Pascal, Delphi, Lazarus et Assembleur
    Avant de poser une question, consultez les FAQ Pascal, Delphi, Lazarus et Assembleur
    Mes tutoriels et sources Pascal

    Le problème en ce bas monde est que les imbéciles sont sûrs d'eux et fiers comme des coqs de basse cour, alors que les gens intelligents sont emplis de doute. [Bertrand Russell]
    La tolérance atteindra un tel niveau que les personnes intelligentes seront interdites de toute réflexion afin de ne pas offenser les imbéciles. [Fiodor Mikhaïlovitch Dostoïevski]

  6. #6
    Membre régulier
    Profil pro
    Inscrit en
    Septembre 2002
    Messages
    96
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2002
    Messages : 96
    Points : 116
    Points
    116
    Par défaut
    Tu as essayé de mettre dos dessus, puis de tester si le lecteur cd marche avec mscdex? Ou de le tester avec linux si c'est un pc supérieur au 386 ?

    Sinon, pour avoir plus de doc sur la programmation de lecteurs cd: http://www.nondot.org/sabre/os/articles/DiskandDiscDrives/

    A voir aussi: la doc ATAPI officielle: http://kos.enix.org/pub/d1410r3a.pdf.gz

    Si c'est vraiment un vieux truc, les fonctions qui agissent sur le cd doivent etre d'anciennes fonctions inusités, et pas les fonctions standards... Si tu sais quel bios tu as, essaye de faire une recherche...

    Et pour qemu, essaye de mettre une signature à ton secteur de boot (0xAA55), c'est peu être ça qui foire.

    Et c'est quoi cette machine ?
    Responsable du projet SKAN (OS à but didactique)
    Contactez moi pour toutes questions ou remarques sur le projet.

  7. #7
    Membre éprouvé
    Avatar de Celelibi
    Profil pro
    Inscrit en
    Janvier 2004
    Messages
    1 087
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2004
    Messages : 1 087
    Points : 1 122
    Points
    1 122
    Par défaut
    Le processeur est un 486DX (à 75MHz attention...).
    Le BIOS est une phoenix 1.06

    J'ai essayé avec une floppix, et dans /dev je n'ai aucune entré qui commence par "hd". J'en conclu donc que ni le disque dur ni le lecteur cd n'est détecté.

    J'ai essayé de booter sur une disquette de démarrage win (donc avec DOS ). Lorsque j'essaye d'accéder à C: ou à D: il me dit que le lecteur n'existe pas (ou un truc du genre).

    2+4, merci, qemu marche mieux avec cette signature en effet.

    Merci pour vos doc, je vais aller voir ça.
    Les vaches ne peuvent PAS voler, quoi qu'elles aient pu vous raconter.

Discussions similaires

  1. [Débutant] Secteur de boot sur clé usb
    Par Invité dans le forum Programmation d'OS
    Réponses: 10
    Dernier message: 03/07/2014, 14h58
  2. Pb XP qui boote sur le bureau puis reste coincé :(
    Par Matrick dans le forum Sécurité
    Réponses: 1
    Dernier message: 25/10/2009, 13h55
  3. Des cd de Windows qui boot pas sur mon pc
    Par dot-_-net dans le forum Windows XP
    Réponses: 11
    Dernier message: 02/01/2009, 18h20
  4. Réponses: 1
    Dernier message: 05/04/2008, 16h15
  5. [Débutant] Tester une connection sur bdd
    Par lando dans le forum Servlets/JSP
    Réponses: 3
    Dernier message: 03/09/2003, 14h37

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo