begin process at 2012 05 30 01:52:55
  Trouver un code source :
 
dans
 
Accueil > Forum > 

C

 > 

Système

 > 

Autre

 > 

un probleme avec biosdisk


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

un probleme avec biosdisk

dimanche 28 mai 2006 à 19:55:27 | un probleme avec biosdisk

goast_tu

Salut!
J'essai d'ecrir un petit programme qui permet de lire un secteur d'un disque. J'utilise la fonction biosdisk. Il n'y a aucun probleme avec les disquettes mais avec le disque dur ca marche jamais il me retourne l'erreur 128. Voila le code:

#include <stdio.h>
#include <bios.h>

typedef char BYTE;

void main()
{
    int i, rep=1;
    char buf[512];
   
   
    for (i=10; i && rep; i--) //essayer de lir 10 fois
    {
        rep = biosdisk(2, 0x80 ,0, 0, 1, 1, buf); \\Remplacer 0x80 par 0x0 pour la disquette
        printf("%d\n", rep);
    }
   
    if (rep) return -1;

    FILE *fd = fopen("boot.txt","wb");
    if (fd==NULL) return -1;

    fwrite(buf, 1, 512, fd);
    fclose(fd);

    system("pause");
}
j'espere que quelqu'un pourrai me corriger.
Peut etre c'est windows qui bloque la lecture.
Je voulais aussi savoir si on pouvai utiliser la fonction biosdisk pour lire et ecrrire sur une clé USB et quels sont les parametres pour les pistes et les secteurs.

Merci, @ +
dimanche 28 mai 2006 à 20:01:09 | Re : un probleme avec biosdisk

vecchio56

Administrateur CodeS-SourceS
Et pourquoi 0x80?
dimanche 28 mai 2006 à 20:59:14 | Re : un probleme avec biosdisk

baby3378

ma question va peut être vous paraitre bizare, voir même stupide, mais je me demandais juste ce qu'il falait changer quand on est sur le bios, (si le changement est necessaire ou pas)

Est-ce qu'un hello world pourrait fonctionner sans problème ? par exemple


PS:dsl goast_tu pour ma question dans ton topic mais je la trouvais peu importante pour prendre la place d'un nouveau topic, de plus mon niveau ne me permet pas de te répondre.

Pourra tu me pardonner ?
dimanche 28 mai 2006 à 22:42:41 | Re : un probleme avec biosdisk

goast_tu

baby3378 : la question n'est peut etre pas stupide mais en tout cas elle est mal posé. pas grave pour la question
Si tu voulais dir si c'était possible d'ecrire un programme "hellow world" qui se lance sans le systeme d'exploitation comme par exemple avec une disquette : la reponce est oui, mais il faut apprendre l'assembleur car ecrir un code qui sera dans le secteur boot avec C est + dur voir impossible.

0x80 eh ben  bonne question mais c'est ce que j'ai trouvé sur un site il etait ecrit que :
0x0: pour la disquette A:
0x1: pour la disquette B:
0x80: pour disque C:
0x81: pour disque D:

je sais pas d'ou ca vien et si quelqu'un a unpeu  + de precision sur cette fonction ou sur l'Int 13h de BIOS je serais gentil de les poster ici
lundi 29 mai 2006 à 01:05:25 | Re : un probleme avec biosdisk

BruNews

Administrateur CodeS-SourceS
Sous Windows c'est API, bios.h est à virer.

ciao...
BruNews, MVP VC++
mardi 30 mai 2006 à 19:17:08 | Re : un probleme avec biosdisk

goast_tu

Ok, alors quel API utiliser? et ou trouver l'information?

Merci
mardi 30 mai 2006 à 20:06:09 | Re : un probleme avec biosdisk

BruNews

Administrateur CodeS-SourceS
Réponse acceptée !
CreateFile()
ReadFile() ou DeviceIoControl()
CloseHandle()

ciao...
BruNews, MVP VC++
mardi 30 mai 2006 à 20:08:23 | Re : un probleme avec biosdisk

vecchio56

Administrateur CodeS-SourceS
Réponse acceptée !
Il y a des exemples ici


Cette discussion est classée dans : probleme, rep, buf, fd, biosdisk


Répondre à ce message

Sujets en rapport avec ce message

Formatage bas niveau [ par nixon666 ] J'ai créer un petit logiciel de formatage bas niveau en utilisant la fonction biosdisk. Tout fonctionne correctement, mais le temps d'écriture d'un s probleme de fichier [ par nach73 ] bonjour de je suis debutant en c.Je suis occupe a ecrit un prog qui cherche un mot saise a la console.J'ai un probleme quand je recherche la position Probleme fonction [ par Mini92 ] Plop all :)J'ai un petit problème que j'arrive pas à regler, peut être que quelqu'un peut m'éclairer (svp)En fait, j'ai codé un serveur qui est sensé Problème serveur TCP en C [ par lenneth666 ] BOnjour j'ai un petit problème. Je voulais faire en sorte que mon serveur puisse gérer la réception et l'envoi de message en parralèle, mais celà ne boucle while [ par oceane67 ] bonjour, j'ai un probleme avec une boucle while, le code est simple mais je trouve pas le probleme:i=0; j=0; cout cin>>rep; do { if (strcm gros probleme shellexecute [ par morgandetoi06 ] bonjour voila j ai un probleme :dj ai une liste de programme à executer, je met le nom des cdes programmes dans un tableau et les execute comme ceci : probleme avec allegro en C [ par boponfire ] je cite l'aide d'allegro : "int d_icon_proc(int msg, DIALOG *d, int c); C'est un boutton image, la couleur fg est utlisee pour les lignes dessinees lo socket probleme [ par berbeche ] berbechevoila je travail sur un socket Client Server je prepare le paquet avec des donnees et le sevrer attends en recv() Le probleme c que la prepara Probleme avec l'interface de builder [ par brice451 ] J'ai developé un programme en expert console qui fonctionne correctement.J'aimerais pour le rendre plus atrayant le faire avec la VCL mais je ne sait Probleme avec GTK et le code touche [ par Vamps ] Bonjour,En faite je veut en utilisant un switch que le programme reagisse a differente touche, en loccurance ici la touche ENTRER regarder le code :gb


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 : 2,044 sec (3)

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