begin process at 2012 05 28 05:01:49
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Archive C/C++

 > 

Archives

 > 

Fichier / Disque

 > 

Accès à un disque SCSI ...


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Accès à un disque SCSI ...

lundi 18 avril 2005 à 10:34:00 | Accès à un disque SCSI ...

zoran_8000

Bonjour à tous !

Je dispose d'une source C / ASM que j'ai récupérée sur CS (site géniallissime est-il besoin de le rappeller !).

Ce source permet d'activer ou désactiver une partition sur un disque dur IDE. Je voudrai le rendre utilisable sur un disque-dur SCSI.

Est-ce que quelqu'un peut m'aider ?

#include <dos.h>

// Source pour activer la 1ère partition du premier disque
//  et desactiver les autres partitions du même disque
//  ( IDE0 maître )

struct Partition
{
  unsigned char flag;
  char description[15];
};

struct Mbr
{
  char bootCode[0x1BE];
  struct Partition table[4];
  char signature[2];
};

int main()
{
    struct Mbr mbr;
    union REGS r, rout;
    struct SREGS sr;

    sr.es=FP_SEG(&mbr);
    r.x.bx=FP_OFF(&mbr);
    r.x.ax= 0x201;                  // lecture d'un secteur
    r.h.dl= 0x80;                   // 1er disque
      r.x.cx= 1;                      // 1er secteur
    r.h.dh= 0;                      // piste 0 et tête 0
    
    int86x(0x13, &r, &rout, &sr);   // 1ère lecture factice au cas où le lecteur serait arrêté
    int86x(0x13, &r, &r, &sr);

    if( r.x.cflag )
        return 1;                                            // erreur de lecteur
    else
    {
        mbr.table[0].flag= 0x80;      // 1ère partition
        mbr.table[1].flag= 0x80;      // 2ème partition
        mbr.table[2].flag= 0x80;      // 3ème partition
        mbr.table[3].flag= 0x80;      // 4ème partition

        sr.es=FP_SEG(&mbr);
        r.x.bx=FP_OFF(&mbr);
        r.x.ax= 0x301;                // écriture d'un secteur
        r.h.dl= 0x80;                 // 1er disque
        r.x.cx= 1;                    // 1er sercteur
        r.h.dh= 0;                    // piste 0 et tête 0

        int86x(0x13, &r, &r, &sr);

        if( r.x.cflag )
            return 2;
        else
            return 0;
    }
}


<--- Zoran_8000 --->


Cette discussion est classée dans : disque, sr, partition, mbr, 0x80


Répondre à ce message

Sujets en rapport avec ce message

Liste des disque sur ou partition en C (turbo c) [ par DraaFil ] Bonjour,je suis à la recherche du code qui me permettrais d'afficher à l'écran la liste des partition avec leur nom et leur espace. Cela dois fonction espace disque libre [ par mat74 ] salut a ts je cherche un moy de determiner l'espace libre sur une de mes partition et je sais vraiment pas comment faire car la seule fonction pr cela SRC c'une balise IMG sur une partition d'un disque dur [ par phoberius ] Bonjour, je crée actuellement un générateur de signature électronique. Je veux insérer une image qui, au préalable, a été uploader et redimensionner.C Détéction d'une clé / Disque USB [ par norton ] Bonjour à tous, Dans le cadre d'un exercice de programmation je cherche à écrire dans un fichier contenu sur une clé ou un disque dur USB. J'arriv Ecriture sur le disque [ par tony261193 ] Bonjour, Je voudrais savoir s'il existe des fonctions permettant d'écrire des données directement sur le disque dur au niveau des cases mémoires. C'e envoyer/ recevoir des info de VB vers disque amovible. [ par mimi99 ] Bonjour tout le monde. Je compte sur votre âme charitable pour m'aider à finir mon code. [^^ange] Je suis vraiment débutante en VB, j'ai la version ex Visualiser les disques en C [ par cool2source ] Bonsoir amis programmeurs, Je vous expose le petit problème que je rencontre: Je réalise un programme qui a pour but de naviguer d'un dossier à un interface graphique d'une calculatrice sr matlab [ par medbek ] je veus faire une interface graphique avec matlab .est ce que vous pouvons me aider commnent le faire et quel est sa algorithme?


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,421 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales