SoloCodigo

Programación General => ASM (Ensamblador) => Mensaje iniciado por: juanito20 en Miércoles 7 de Septiembre de 2005, 09:13

Título: Boot Disk En Disco Duro
Publicado por: juanito20 en Miércoles 7 de Septiembre de 2005, 09:13
hola, bueno yo estaba con el proyecto de un boot disk (en A), ya lo hice, el "sistemita" es un pequeño conjunto de rutinas basicas bios de tiempo, deteccion de unidades y reinicio del cpu, resulta que ahora necesito implementar esto en el disco duro, inicialmente yo asumia que iba a ser lo mismo que el anterior con la diferencia de indicarle al programa que escribe en la unidad que en lugar de usar la unidad 0 usara la 80h pero no me funcionó, por que será?, que debo cambiar, entiendase que en Diskette ya trabaja bien, adjunto el codigo que uso para escribir en diskette:
#include <bios.h>
#include <stdio.h>
void main(int argc, *char argv[] ) {
        FILE *ptr_file_in;
        unsigned char buffer[512];
        int jairou= atoi(argv[2]);
        int jairos= atoi(argv[3]);
        if( (ptr_file_in = fopen(argv[1], "rb") ) == NULL) {
                printf("Error loading file\n");
                exit(0); }
        fread(&buffer, 512, 1, ptr_file_in);
         while( biosdisk(3, jairou, 0, 0, jairos, 1, buffer) );

 /*biosdisk(cmd, drive, head, track, sector, Nsectors, buffer)*/

        fclose(ptr_file_in); }
/*Funcionamiento del programa wrt2dsc nombrearchivo unidad sector */
Título: Re: Boot Disk En Disco Duro
Publicado por: Eternal Idol en Domingo 11 de Septiembre de 2005, 19:53
Como nunca lo hice y ya paso bastante tiempo:

http://www.google.es/search?hl=es&q=mbr+fat+16 (http://www.google.es/search?hl=es&q=mbr+fat+16)

 :devil: