SoloCodigo
		Programación General => ASM (Ensamblador) => Mensaje iniciado 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 */
- 
				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: