mirror of
				https://github.com/pbatard/rufus.git
				synced 2024-08-14 23:57:05 +00:00 
			
		
		
		
	[mbr] added ms-sys files
This commit is contained in:
		
							parent
							
								
									44c418714c
								
							
						
					
					
						commit
						6e2fb54480
					
				
					 38 changed files with 1809 additions and 2 deletions
				
			
		
							
								
								
									
										191
									
								
								br.c
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										191
									
								
								br.c
									
										
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,191 @@ | ||||||
|  | /******************************************************************
 | ||||||
|  |     Copyright (C) 2009  Henrik Carlqvist | ||||||
|  | 
 | ||||||
|  |     This program is free software; you can redistribute it and/or modify | ||||||
|  |     it under the terms of the GNU General Public License as published by | ||||||
|  |     the Free Software Foundation; either version 2 of the License, or | ||||||
|  |     (at your option) any later version. | ||||||
|  | 
 | ||||||
|  |     This program is distributed in the hope that it will be useful, | ||||||
|  |     but WITHOUT ANY WARRANTY; without even the implied warranty of | ||||||
|  |     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the | ||||||
|  |     GNU General Public License for more details. | ||||||
|  | 
 | ||||||
|  |     You should have received a copy of the GNU General Public License | ||||||
|  |     along with this program; if not, write to the Free Software | ||||||
|  |     Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. | ||||||
|  | ******************************************************************/ | ||||||
|  | #include <stdio.h> | ||||||
|  | 
 | ||||||
|  | #include "file.h" | ||||||
|  | #include "br.h" | ||||||
|  | 
 | ||||||
|  | int is_br(FILE *fp) | ||||||
|  | { | ||||||
|  |    /* A "file" is probably some kind of boot record if it contains the magic
 | ||||||
|  |       chars 0x55, 0xAA at position 0x1FE */ | ||||||
|  |    unsigned char aucRef[] = {0x55, 0xAA}; | ||||||
|  | 
 | ||||||
|  |    return contains_data(fp, 0x1FE, aucRef, sizeof(aucRef));  | ||||||
|  | } /* is_br */ | ||||||
|  | 
 | ||||||
|  | int is_lilo_br(FILE *fp) | ||||||
|  | { | ||||||
|  |    /* A "file" is probably a LILO boot record if it contains the magic
 | ||||||
|  |       chars LILO at position 0x6 or 0x2 for floppies */ | ||||||
|  |    unsigned char aucRef[] = {'L','I','L','O'}; | ||||||
|  | 
 | ||||||
|  |    return ( contains_data(fp, 0x6, aucRef, sizeof(aucRef)) || | ||||||
|  | 	    contains_data(fp, 0x2, aucRef, sizeof(aucRef)) );  | ||||||
|  | } /* is_lilo_br */ | ||||||
|  | 
 | ||||||
|  | int is_dos_mbr(FILE *fp) | ||||||
|  | { | ||||||
|  |    #include "mbr_dos.h" | ||||||
|  |    unsigned char aucRef[] = {0x55, 0xAA}; | ||||||
|  | 
 | ||||||
|  |    return | ||||||
|  |       contains_data(fp, 0x0, mbr_dos_0x0, sizeof(mbr_dos_0x0)) && | ||||||
|  |       contains_data(fp, 0x1FE, aucRef, sizeof(aucRef)); | ||||||
|  | } /* is_dos_mbr */ | ||||||
|  | 
 | ||||||
|  | int is_dos_f2_mbr(FILE *fp) | ||||||
|  | { | ||||||
|  |    #include "mbr_dos_f2.h" | ||||||
|  |    unsigned char aucRef[] = {0x55, 0xAA}; | ||||||
|  | 
 | ||||||
|  |    return | ||||||
|  |       contains_data(fp, 0x0, mbr_dos_f2_0x0, sizeof(mbr_dos_f2_0x0)) && | ||||||
|  |       contains_data(fp, 0x1FE, aucRef, sizeof(aucRef)); | ||||||
|  | } /* is_dos_f2_mbr */ | ||||||
|  | 
 | ||||||
|  | int is_95b_mbr(FILE *fp) | ||||||
|  | { | ||||||
|  |    #include "mbr_95b.h" | ||||||
|  |    unsigned char aucRef[] = {0x55, 0xAA}; | ||||||
|  | 
 | ||||||
|  |    return | ||||||
|  |       contains_data(fp, 0x0,   mbr_95b_0x0,   sizeof(mbr_95b_0x0)) && | ||||||
|  |       contains_data(fp, 0x0e0, mbr_95b_0x0e0, sizeof(mbr_95b_0x0e0)) && | ||||||
|  |       contains_data(fp, 0x1FE, aucRef, sizeof(aucRef)); | ||||||
|  | } /* is_95b_mbr */ | ||||||
|  | 
 | ||||||
|  | int is_2000_mbr(FILE *fp) | ||||||
|  | { | ||||||
|  |    #include "mbr_2000.h" | ||||||
|  |    unsigned char aucRef[] = {0x55, 0xAA}; | ||||||
|  | 
 | ||||||
|  |    return | ||||||
|  |       contains_data(fp, 0x0, mbr_2000_0x0, sizeof(mbr_2000_0x0)) && | ||||||
|  |       contains_data(fp, 0x1FE, aucRef, sizeof(aucRef)); | ||||||
|  | } /* is_2000_mbr */ | ||||||
|  | 
 | ||||||
|  | int is_vista_mbr(FILE *fp) | ||||||
|  | { | ||||||
|  |    #include "mbr_vista.h" | ||||||
|  |    unsigned char aucRef[] = {0x55, 0xAA}; | ||||||
|  | 
 | ||||||
|  |    return | ||||||
|  |       contains_data(fp, 0x0, mbr_vista_0x0, sizeof(mbr_vista_0x0)) && | ||||||
|  |       contains_data(fp, 0x1FE, aucRef, sizeof(aucRef)); | ||||||
|  | } /* is_vista_mbr */ | ||||||
|  | 
 | ||||||
|  | int is_win7_mbr(FILE *fp) | ||||||
|  | { | ||||||
|  |    #include "mbr_win7.h" | ||||||
|  |    unsigned char aucRef[] = {0x55, 0xAA}; | ||||||
|  | 
 | ||||||
|  |    return | ||||||
|  |       contains_data(fp, 0x0, mbr_win7_0x0, sizeof(mbr_win7_0x0)) && | ||||||
|  |       contains_data(fp, 0x1FE, aucRef, sizeof(aucRef)); | ||||||
|  | } /* is_win7_mbr */ | ||||||
|  | 
 | ||||||
|  | int is_syslinux_mbr(FILE *fp) | ||||||
|  | { | ||||||
|  |    #include "mbr_syslinux.h" | ||||||
|  |    unsigned char aucRef[] = {0x55, 0xAA}; | ||||||
|  | 
 | ||||||
|  |    return | ||||||
|  |       contains_data(fp, 0x0, mbr_syslinux_0x0, sizeof(mbr_syslinux_0x0)) && | ||||||
|  |       contains_data(fp, 0x1FE, aucRef, sizeof(aucRef)); | ||||||
|  | } /* is_syslinux_mbr */ | ||||||
|  | 
 | ||||||
|  | int is_zero_mbr(FILE *fp) | ||||||
|  | { | ||||||
|  |    #include "mbr_zero.h" | ||||||
|  | 
 | ||||||
|  |    return | ||||||
|  |       contains_data(fp, 0x0, mbr_zero_0x0, sizeof(mbr_zero_0x0)); | ||||||
|  | 	/* Don't bother to check 55AA signature */ | ||||||
|  | } /* is_zero_mbr */ | ||||||
|  | 
 | ||||||
|  | int write_dos_mbr(FILE *fp) | ||||||
|  | { | ||||||
|  |    #include "mbr_dos.h" | ||||||
|  |    unsigned char aucRef[] = {0x55, 0xAA}; | ||||||
|  | 
 | ||||||
|  |    return | ||||||
|  |       write_data(fp, 0x0, mbr_dos_0x0, sizeof(mbr_dos_0x0)) && | ||||||
|  |       write_data(fp, 0x1FE, aucRef, sizeof(aucRef)); | ||||||
|  | } /* write_dos_mbr */ | ||||||
|  | 
 | ||||||
|  | int write_95b_mbr(FILE *fp) | ||||||
|  | { | ||||||
|  |    #include "mbr_95b.h" | ||||||
|  |    unsigned char aucRef[] = {0x55, 0xAA}; | ||||||
|  | 
 | ||||||
|  |    return | ||||||
|  |       write_data(fp, 0x0,   mbr_95b_0x0, sizeof(mbr_95b_0x0)) && | ||||||
|  |       write_data(fp, 0x0e0, mbr_95b_0x0e0, sizeof(mbr_95b_0x0e0)) && | ||||||
|  |       write_data(fp, 0x1FE, aucRef, sizeof(aucRef)); | ||||||
|  | } /* write_95b_mbr */ | ||||||
|  | 
 | ||||||
|  | int write_2000_mbr(FILE *fp) | ||||||
|  | { | ||||||
|  |    #include "mbr_2000.h" | ||||||
|  |    unsigned char aucRef[] = {0x55, 0xAA}; | ||||||
|  | 
 | ||||||
|  |    return | ||||||
|  |       write_data(fp, 0x0, mbr_2000_0x0, sizeof(mbr_2000_0x0)) && | ||||||
|  |       write_data(fp, 0x1FE, aucRef, sizeof(aucRef)); | ||||||
|  | } /* write_2000_mbr */ | ||||||
|  | 
 | ||||||
|  | int write_vista_mbr(FILE *fp) | ||||||
|  | { | ||||||
|  |    #include "mbr_vista.h" | ||||||
|  |    unsigned char aucRef[] = {0x55, 0xAA}; | ||||||
|  | 
 | ||||||
|  |    return | ||||||
|  |       write_data(fp, 0x0, mbr_vista_0x0, sizeof(mbr_vista_0x0)) && | ||||||
|  |       write_data(fp, 0x1FE, aucRef, sizeof(aucRef)); | ||||||
|  | } /* write_vista_mbr */ | ||||||
|  | 
 | ||||||
|  | int write_win7_mbr(FILE *fp) | ||||||
|  | { | ||||||
|  |    #include "mbr_win7.h" | ||||||
|  |    unsigned char aucRef[] = {0x55, 0xAA}; | ||||||
|  | 
 | ||||||
|  |    return | ||||||
|  |       write_data(fp, 0x0, mbr_win7_0x0, sizeof(mbr_win7_0x0)) && | ||||||
|  |       write_data(fp, 0x1FE, aucRef, sizeof(aucRef)); | ||||||
|  | } /* write_win7_mbr */ | ||||||
|  | 
 | ||||||
|  | int write_syslinux_mbr(FILE *fp) | ||||||
|  | { | ||||||
|  |    #include "mbr_syslinux.h" | ||||||
|  |    unsigned char aucRef[] = {0x55, 0xAA}; | ||||||
|  | 
 | ||||||
|  |    return | ||||||
|  |       write_data(fp, 0x0, mbr_syslinux_0x0, sizeof(mbr_syslinux_0x0)) && | ||||||
|  |       write_data(fp, 0x1FE, aucRef, sizeof(aucRef)); | ||||||
|  | } /* write_syslinux_mbr */ | ||||||
|  | 
 | ||||||
|  | int write_zero_mbr(FILE *fp) | ||||||
|  | { | ||||||
|  |    #include "mbr_zero.h" | ||||||
|  |    unsigned char aucRef[] = {0x55, 0xAA}; | ||||||
|  | 
 | ||||||
|  |    return | ||||||
|  |       write_data(fp, 0x0,   mbr_zero_0x0, sizeof(mbr_zero_0x0)) && | ||||||
|  |       write_data(fp, 0x1FE, aucRef, sizeof(aucRef)); | ||||||
|  | } /* write_zero_mbr */ | ||||||
							
								
								
									
										59
									
								
								fat12.c
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										59
									
								
								fat12.c
									
										
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,59 @@ | ||||||
|  | /******************************************************************
 | ||||||
|  |     Copyright (C) 2009  Henrik Carlqvist | ||||||
|  | 
 | ||||||
|  |     This program is free software; you can redistribute it and/or modify | ||||||
|  |     it under the terms of the GNU General Public License as published by | ||||||
|  |     the Free Software Foundation; either version 2 of the License, or | ||||||
|  |     (at your option) any later version. | ||||||
|  | 
 | ||||||
|  |     This program is distributed in the hope that it will be useful, | ||||||
|  |     but WITHOUT ANY WARRANTY; without even the implied warranty of | ||||||
|  |     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the | ||||||
|  |     GNU General Public License for more details. | ||||||
|  | 
 | ||||||
|  |     You should have received a copy of the GNU General Public License | ||||||
|  |     along with this program; if not, write to the Free Software | ||||||
|  |     Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. | ||||||
|  | ******************************************************************/ | ||||||
|  | #include <stdio.h> | ||||||
|  | #include <string.h> | ||||||
|  | 
 | ||||||
|  | #include "file.h" | ||||||
|  | #include "fat12.h" | ||||||
|  | 
 | ||||||
|  | int is_fat_12_fs(FILE *fp) | ||||||
|  | { | ||||||
|  |    char *szMagic = "FAT12   "; | ||||||
|  | 
 | ||||||
|  |    return contains_data(fp, 0x36, szMagic, strlen(szMagic)); | ||||||
|  | } /* is_fat_12_fs */ | ||||||
|  | 
 | ||||||
|  | int entire_fat_12_br_matches(FILE *fp) | ||||||
|  | { | ||||||
|  |    #include "br_fat12_0x0.h" | ||||||
|  |    #include "br_fat12_0x3e.h" | ||||||
|  | 
 | ||||||
|  |    return | ||||||
|  |       ( contains_data(fp, 0x0, br_fat12_0x0, sizeof(br_fat12_0x0)) && | ||||||
|  | 	/* BIOS Parameter Block might differ between systems */ | ||||||
|  | 	contains_data(fp, 0x3e, br_fat12_0x3e, sizeof(br_fat12_0x3e)) ); | ||||||
|  | } /* entire_fat_12_br_matches */ | ||||||
|  | 
 | ||||||
|  | int write_fat_12_br(FILE *fp, int bKeepLabel) | ||||||
|  | { | ||||||
|  |    #include "label_11_char.h" | ||||||
|  |    #include "br_fat12_0x0.h" | ||||||
|  |    #include "br_fat12_0x3e.h" | ||||||
|  | 
 | ||||||
|  |    if(bKeepLabel) | ||||||
|  |       return | ||||||
|  | 	 ( write_data(fp, 0x0, br_fat12_0x0, sizeof(br_fat12_0x0)) && | ||||||
|  | 	   /* BIOS Parameter Block might differ between systems */ | ||||||
|  | 	   write_data(fp, 0x3e, br_fat12_0x3e, sizeof(br_fat12_0x3e)) ); | ||||||
|  |    else | ||||||
|  |       return | ||||||
|  | 	 ( write_data(fp, 0x0, br_fat12_0x0, sizeof(br_fat12_0x0)) && | ||||||
|  | 	   /* BIOS Parameter Block might differ between systems */ | ||||||
|  | 	   write_data(fp, 0x2b, label_11_char, sizeof(label_11_char)) && | ||||||
|  | 	   write_data(fp, 0x3e, br_fat12_0x3e, sizeof(br_fat12_0x3e)) ); | ||||||
|  | } /* write_fat_12_br */ | ||||||
							
								
								
									
										104
									
								
								fat16.c
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										104
									
								
								fat16.c
									
										
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,104 @@ | ||||||
|  | /******************************************************************
 | ||||||
|  |     Copyright (C) 2009  Henrik Carlqvist | ||||||
|  | 
 | ||||||
|  |     This program is free software; you can redistribute it and/or modify | ||||||
|  |     it under the terms of the GNU General Public License as published by | ||||||
|  |     the Free Software Foundation; either version 2 of the License, or | ||||||
|  |     (at your option) any later version. | ||||||
|  | 
 | ||||||
|  |     This program is distributed in the hope that it will be useful, | ||||||
|  |     but WITHOUT ANY WARRANTY; without even the implied warranty of | ||||||
|  |     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the | ||||||
|  |     GNU General Public License for more details. | ||||||
|  | 
 | ||||||
|  |     You should have received a copy of the GNU General Public License | ||||||
|  |     along with this program; if not, write to the Free Software | ||||||
|  |     Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. | ||||||
|  | ******************************************************************/ | ||||||
|  | #include <stdio.h> | ||||||
|  | #include <string.h> | ||||||
|  | 
 | ||||||
|  | #include "file.h" | ||||||
|  | #include "fat16.h" | ||||||
|  | #include "fat16fd.h" | ||||||
|  | 
 | ||||||
|  | int is_fat_16_fs(FILE *fp) | ||||||
|  | { | ||||||
|  |    char *szMagic = "FAT16   "; | ||||||
|  | 
 | ||||||
|  |    return contains_data(fp, 0x36, szMagic, strlen(szMagic)); | ||||||
|  | } /* is_fat_16_fs */ | ||||||
|  | 
 | ||||||
|  | int is_fat_16_br(FILE *fp) | ||||||
|  | { | ||||||
|  |    /* A "file" is probably some kind of FAT16 boot record if it contains the
 | ||||||
|  |       magic chars 0x55, 0xAA at positions 0x1FE */ | ||||||
|  |    unsigned char aucRef[] = {0x55, 0xAA}; | ||||||
|  |    unsigned char aucMagic[] = {'M','S','W','I','N','4','.','1'}; | ||||||
|  | 
 | ||||||
|  |    if( ! contains_data(fp, 0x1FE, aucRef, sizeof(aucRef))) | ||||||
|  |       return 0; | ||||||
|  |    if( ! contains_data(fp, 0x03, aucMagic, sizeof(aucMagic))) | ||||||
|  |       return 0; | ||||||
|  |    return 1; | ||||||
|  | } /* is_fat_16_br */ | ||||||
|  | 
 | ||||||
|  | int entire_fat_16_br_matches(FILE *fp) | ||||||
|  | { | ||||||
|  |    #include "br_fat16_0x0.h" | ||||||
|  |    #include "br_fat16_0x3e.h" | ||||||
|  | 
 | ||||||
|  |    return | ||||||
|  |       ( contains_data(fp, 0x0, br_fat16_0x0, sizeof(br_fat16_0x0)) && | ||||||
|  | 	/* BIOS Parameter Block might differ between systems */ | ||||||
|  | 	contains_data(fp, 0x3e, br_fat16_0x3e, sizeof(br_fat16_0x3e)) ); | ||||||
|  | } /* entire_fat_16_br_matches */ | ||||||
|  | 
 | ||||||
|  | int write_fat_16_br(FILE *fp, int bKeepLabel) | ||||||
|  | { | ||||||
|  |    #include "label_11_char.h" | ||||||
|  |    #include "br_fat16_0x0.h" | ||||||
|  |    #include "br_fat16_0x3e.h" | ||||||
|  | 
 | ||||||
|  |    if(bKeepLabel) | ||||||
|  |       return | ||||||
|  | 	 ( write_data(fp, 0x0, br_fat16_0x0, sizeof(br_fat16_0x0)) && | ||||||
|  | 	   /* BIOS Parameter Block should not be overwritten */ | ||||||
|  | 	   write_data(fp, 0x3e, br_fat16_0x3e, sizeof(br_fat16_0x3e)) ); | ||||||
|  |    else | ||||||
|  |       return | ||||||
|  | 	 ( write_data(fp, 0x0, br_fat16_0x0, sizeof(br_fat16_0x0)) && | ||||||
|  | 	   /* BIOS Parameter Block should not be overwritten */ | ||||||
|  | 	   write_data(fp, 0x2b, label_11_char, sizeof(label_11_char)) && | ||||||
|  | 	   write_data(fp, 0x3e, br_fat16_0x3e, sizeof(br_fat16_0x3e)) );       | ||||||
|  | } /* write_fat_16_br */ | ||||||
|  | 
 | ||||||
|  | int entire_fat_16_fd_br_matches(FILE *fp) | ||||||
|  | { | ||||||
|  |    #include "br_fat16_0x0.h" | ||||||
|  |    #include "br_fat16fd_0x3e.h" | ||||||
|  | 
 | ||||||
|  |    return | ||||||
|  |       ( contains_data(fp, 0x0, br_fat16_0x0, sizeof(br_fat16_0x0)) && | ||||||
|  | 	/* BIOS Parameter Block might differ between systems */ | ||||||
|  | 	contains_data(fp, 0x3e, br_fat16_0x3e, sizeof(br_fat16_0x3e)) ); | ||||||
|  | } /* entire_fat_16_fd_br_matches */ | ||||||
|  | 
 | ||||||
|  | int write_fat_16_fd_br(FILE *fp, int bKeepLabel) | ||||||
|  | { | ||||||
|  |    #include "label_11_char.h" | ||||||
|  |    #include "br_fat16_0x0.h" | ||||||
|  |    #include "br_fat16fd_0x3e.h" | ||||||
|  | 
 | ||||||
|  |    if(bKeepLabel) | ||||||
|  |       return | ||||||
|  | 	 ( write_data(fp, 0x0, br_fat16_0x0, sizeof(br_fat16_0x0)) && | ||||||
|  | 	   /* BIOS Parameter Block should not be overwritten */ | ||||||
|  | 	   write_data(fp, 0x3e, br_fat16_0x3e, sizeof(br_fat16_0x3e)) ); | ||||||
|  |    else | ||||||
|  |       return | ||||||
|  | 	 ( write_data(fp, 0x0, br_fat16_0x0, sizeof(br_fat16_0x0)) && | ||||||
|  | 	   /* BIOS Parameter Block should not be overwritten */ | ||||||
|  | 	   write_data(fp, 0x2b, label_11_char, sizeof(label_11_char)) && | ||||||
|  | 	   write_data(fp, 0x3e, br_fat16_0x3e, sizeof(br_fat16_0x3e)) );       | ||||||
|  | } /* write_fat_16_fd_br */ | ||||||
							
								
								
									
										175
									
								
								fat32.c
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										175
									
								
								fat32.c
									
										
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,175 @@ | ||||||
|  | /******************************************************************
 | ||||||
|  |     Copyright (C) 2009  Henrik Carlqvist | ||||||
|  | 
 | ||||||
|  |     This program is free software; you can redistribute it and/or modify | ||||||
|  |     it under the terms of the GNU General Public License as published by | ||||||
|  |     the Free Software Foundation; either version 2 of the License, or | ||||||
|  |     (at your option) any later version. | ||||||
|  | 
 | ||||||
|  |     This program is distributed in the hope that it will be useful, | ||||||
|  |     but WITHOUT ANY WARRANTY; without even the implied warranty of | ||||||
|  |     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the | ||||||
|  |     GNU General Public License for more details. | ||||||
|  | 
 | ||||||
|  |     You should have received a copy of the GNU General Public License | ||||||
|  |     along with this program; if not, write to the Free Software | ||||||
|  |     Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. | ||||||
|  | ******************************************************************/ | ||||||
|  | #include <stdio.h> | ||||||
|  | #include <string.h> | ||||||
|  | 
 | ||||||
|  | #include "file.h" | ||||||
|  | #include "fat32.h" | ||||||
|  | #include "fat32fd.h" | ||||||
|  | #include "fat32nt.h" | ||||||
|  | 
 | ||||||
|  | int is_fat_32_fs(FILE *fp) | ||||||
|  | { | ||||||
|  |    char *szMagic = "FAT32   "; | ||||||
|  | 
 | ||||||
|  |    return contains_data(fp, 0x52, szMagic, strlen(szMagic)); | ||||||
|  | } /* is_fat_32_fs */ | ||||||
|  | 
 | ||||||
|  | int is_fat_32_br(FILE *fp) | ||||||
|  | { | ||||||
|  |    /* A "file" is probably some kind of FAT32 boot record if it contains the
 | ||||||
|  |       magic chars 0x55, 0xAA at positions 0x1FE, 0x3FE and 0x5FE */ | ||||||
|  |    unsigned char aucRef[] = {0x55, 0xAA}; | ||||||
|  |    unsigned char aucMagic[] = {'M','S','W','I','N','4','.','1'}; | ||||||
|  |    int i; | ||||||
|  | 
 | ||||||
|  |    for(i=0 ; i<3 ; i++) | ||||||
|  |       if( ! contains_data(fp, 0x1FE + i*0x200, aucRef, sizeof(aucRef))) | ||||||
|  | 	 return 0; | ||||||
|  |    if( ! contains_data(fp, 0x03, aucMagic, sizeof(aucMagic))) | ||||||
|  |       return 0; | ||||||
|  |    return 1; | ||||||
|  | } /* is_fat_32_br */ | ||||||
|  | 
 | ||||||
|  | int entire_fat_32_br_matches(FILE *fp) | ||||||
|  | { | ||||||
|  |    #include "br_fat32_0x0.h" | ||||||
|  |    #include "br_fat32_0x52.h" | ||||||
|  |    #include "br_fat32_0x3f0.h" | ||||||
|  | 
 | ||||||
|  |    return | ||||||
|  |       ( contains_data(fp, 0x0, br_fat32_0x0, sizeof(br_fat32_0x0)) && | ||||||
|  | 	/* BIOS Parameter Block might differ between systems */ | ||||||
|  | 	contains_data(fp, 0x52, br_fat32_0x52, sizeof(br_fat32_0x52)) && | ||||||
|  | 	/* Cluster information might differ between systems */ | ||||||
|  | 	contains_data(fp, 0x3f0, br_fat32_0x3f0, sizeof(br_fat32_0x3f0)) ); | ||||||
|  | } /* entire_fat_32_br_matches */ | ||||||
|  | 
 | ||||||
|  | int write_fat_32_br(FILE *fp, int bKeepLabel) | ||||||
|  | { | ||||||
|  |    #include "label_11_char.h" | ||||||
|  |    #include "br_fat32_0x0.h" | ||||||
|  |    #include "br_fat32_0x52.h" | ||||||
|  |    #include "br_fat32_0x3f0.h" | ||||||
|  | 
 | ||||||
|  |    if(bKeepLabel) | ||||||
|  |       return | ||||||
|  | 	 ( write_data(fp, 0x0, br_fat32_0x0, sizeof(br_fat32_0x0)) && | ||||||
|  | 	   /* BIOS Parameter Block should not be overwritten */ | ||||||
|  | 	   write_data(fp, 0x52, br_fat32_0x52, sizeof(br_fat32_0x52)) && | ||||||
|  | 	   /* Cluster information is not overwritten, however, it would bo OK
 | ||||||
|  | 	      to write 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff here. */ | ||||||
|  | 	   write_data(fp, 0x3f0, br_fat32_0x3f0, sizeof(br_fat32_0x3f0)) ); | ||||||
|  |    else | ||||||
|  |       return | ||||||
|  | 	 ( write_data(fp, 0x0, br_fat32_0x0, sizeof(br_fat32_0x0)) && | ||||||
|  | 	   /* BIOS Parameter Block should not be overwritten */ | ||||||
|  | 	   write_data(fp, 0x47, label_11_char, sizeof(label_11_char)) && | ||||||
|  | 	   write_data(fp, 0x52, br_fat32_0x52, sizeof(br_fat32_0x52)) && | ||||||
|  | 	   /* Cluster information is not overwritten, however, it would bo OK
 | ||||||
|  | 	      to write 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff here. */ | ||||||
|  | 	   write_data(fp, 0x3f0, br_fat32_0x3f0, sizeof(br_fat32_0x3f0)) ); | ||||||
|  | } /* write_fat_32_br */ | ||||||
|  | 
 | ||||||
|  | int entire_fat_32_fd_br_matches(FILE *fp) | ||||||
|  | { | ||||||
|  |    #include "br_fat32_0x0.h" | ||||||
|  |    #include "br_fat32fd_0x52.h" | ||||||
|  |    #include "br_fat32fd_0x3f0.h" | ||||||
|  | 
 | ||||||
|  |    return | ||||||
|  |       ( contains_data(fp, 0x0, br_fat32_0x0, sizeof(br_fat32_0x0)) && | ||||||
|  | 	/* BIOS Parameter Block might differ between systems */ | ||||||
|  | 	contains_data(fp, 0x52, br_fat32_0x52, sizeof(br_fat32_0x52)) && | ||||||
|  | 	/* Cluster information might differ between systems */ | ||||||
|  | 	contains_data(fp, 0x3f0, br_fat32_0x3f0, sizeof(br_fat32_0x3f0)) ); | ||||||
|  | } /* entire_fat_32_fd_br_matches */ | ||||||
|  | 
 | ||||||
|  | int write_fat_32_fd_br(FILE *fp, int bKeepLabel) | ||||||
|  | { | ||||||
|  |    #include "label_11_char.h" | ||||||
|  |    #include "br_fat32_0x0.h" | ||||||
|  |    #include "br_fat32fd_0x52.h" | ||||||
|  |    #include "br_fat32fd_0x3f0.h" | ||||||
|  | 
 | ||||||
|  |    if(bKeepLabel) | ||||||
|  |       return | ||||||
|  | 	 ( write_data(fp, 0x0, br_fat32_0x0, sizeof(br_fat32_0x0)) && | ||||||
|  | 	   /* BIOS Parameter Block should not be overwritten */ | ||||||
|  | 	   write_data(fp, 0x52, br_fat32_0x52, sizeof(br_fat32_0x52)) && | ||||||
|  | 	   /* Cluster information is not overwritten, however, it would bo OK
 | ||||||
|  | 	      to write 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff here. */ | ||||||
|  | 	   write_data(fp, 0x3f0, br_fat32_0x3f0, sizeof(br_fat32_0x3f0)) ); | ||||||
|  |    else | ||||||
|  |       return | ||||||
|  | 	 ( write_data(fp, 0x0, br_fat32_0x0, sizeof(br_fat32_0x0)) && | ||||||
|  | 	   /* BIOS Parameter Block should not be overwritten */ | ||||||
|  | 	   write_data(fp, 0x47, label_11_char, sizeof(label_11_char)) && | ||||||
|  | 	   write_data(fp, 0x52, br_fat32_0x52, sizeof(br_fat32_0x52)) && | ||||||
|  | 	   /* Cluster information is not overwritten, however, it would bo OK
 | ||||||
|  | 	      to write 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff here. */ | ||||||
|  | 	   write_data(fp, 0x3f0, br_fat32_0x3f0, sizeof(br_fat32_0x3f0)) ); | ||||||
|  | } /* write_fat_32_nt_br */ | ||||||
|  | 
 | ||||||
|  | int entire_fat_32_nt_br_matches(FILE *fp) | ||||||
|  | { | ||||||
|  |    #include "br_fat32nt_0x0.h" | ||||||
|  |    #include "br_fat32nt_0x52.h" | ||||||
|  |    #include "br_fat32nt_0x3f0.h" | ||||||
|  |    #include "br_fat32nt_0x1800.h" | ||||||
|  | 
 | ||||||
|  |    return | ||||||
|  |       ( contains_data(fp, 0x0, br_fat32nt_0x0, sizeof(br_fat32nt_0x0)) && | ||||||
|  | 	/* BIOS Parameter Block might differ between systems */ | ||||||
|  | 	contains_data(fp, 0x52, br_fat32nt_0x52, sizeof(br_fat32nt_0x52)) && | ||||||
|  | 	/* Cluster information might differ between systems */ | ||||||
|  | 	contains_data(fp, 0x3f0, br_fat32nt_0x3f0, sizeof(br_fat32nt_0x3f0)) && | ||||||
|  | 	contains_data(fp, 0x1800, br_fat32nt_0x1800, sizeof(br_fat32nt_0x1800)) | ||||||
|  | 	 ); | ||||||
|  | } /* entire_fat_32_nt_br_matches */ | ||||||
|  | 
 | ||||||
|  | int write_fat_32_nt_br(FILE *fp, int bKeepLabel) | ||||||
|  | { | ||||||
|  |    #include "label_11_char.h" | ||||||
|  |    #include "br_fat32nt_0x0.h" | ||||||
|  |    #include "br_fat32nt_0x52.h" | ||||||
|  |    #include "br_fat32nt_0x3f0.h" | ||||||
|  |    #include "br_fat32nt_0x1800.h" | ||||||
|  | 
 | ||||||
|  |    if(bKeepLabel) | ||||||
|  |       return | ||||||
|  | 	 ( write_data(fp, 0x0, br_fat32nt_0x0, sizeof(br_fat32nt_0x0)) && | ||||||
|  | 	   /* BIOS Parameter Block should not be overwritten */ | ||||||
|  | 	   write_data(fp, 0x52, br_fat32nt_0x52, sizeof(br_fat32nt_0x52)) && | ||||||
|  |    /* Cluster information is not overwritten, however, it would bo OK
 | ||||||
|  |       to write 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff here. */ | ||||||
|  | 	   write_data(fp, 0x3f0, br_fat32nt_0x3f0, sizeof(br_fat32nt_0x3f0)) && | ||||||
|  | 	   write_data(fp, 0x1800, br_fat32nt_0x1800, sizeof(br_fat32nt_0x1800)) | ||||||
|  | 	    ); | ||||||
|  |    else | ||||||
|  |       return | ||||||
|  | 	 ( write_data(fp, 0x0, br_fat32nt_0x0, sizeof(br_fat32nt_0x0)) && | ||||||
|  | 	   /* BIOS Parameter Block should not be overwritten */ | ||||||
|  | 	   write_data(fp, 0x47, label_11_char, sizeof(label_11_char)) && | ||||||
|  | 	   write_data(fp, 0x52, br_fat32nt_0x52, sizeof(br_fat32nt_0x52)) && | ||||||
|  |    /* Cluster information is not overwritten, however, it would bo OK
 | ||||||
|  |       to write 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff here. */ | ||||||
|  | 	   write_data(fp, 0x3f0, br_fat32nt_0x3f0, sizeof(br_fat32nt_0x3f0)) && | ||||||
|  | 	   write_data(fp, 0x1800, br_fat32nt_0x1800, sizeof(br_fat32nt_0x1800)) | ||||||
|  | 	    ); | ||||||
|  | } /* write_fat_32_nt_br */ | ||||||
							
								
								
									
										143
									
								
								file.c
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										143
									
								
								file.c
									
										
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,143 @@ | ||||||
|  | /******************************************************************
 | ||||||
|  |     Copyright (C) 2009  Henrik Carlqvist | ||||||
|  |     Modified for Windows/Rufus (C) 2011  Pete Batard | ||||||
|  | 
 | ||||||
|  |     This program is free software; you can redistribute it and/or modify | ||||||
|  |     it under the terms of the GNU General Public License as published by | ||||||
|  |     the Free Software Foundation; either version 2 of the License, or | ||||||
|  |     (at your option) any later version. | ||||||
|  | 
 | ||||||
|  |     This program is distributed in the hope that it will be useful, | ||||||
|  |     but WITHOUT ANY WARRANTY; without even the implied warranty of | ||||||
|  |     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the | ||||||
|  |     GNU General Public License for more details. | ||||||
|  | 
 | ||||||
|  |     You should have received a copy of the GNU General Public License | ||||||
|  |     along with this program; if not, write to the Free Software | ||||||
|  |     Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. | ||||||
|  | ******************************************************************/ | ||||||
|  | #include <stdio.h> | ||||||
|  | #include <string.h> | ||||||
|  | 
 | ||||||
|  | #include "rufus.h" | ||||||
|  | #include "file.h" | ||||||
|  | 
 | ||||||
|  | int write_sectors(HANDLE hDrive, size_t SectorSize, | ||||||
|  |                   size_t StartSector, size_t nSectors, | ||||||
|  |                   const void *pBuf, size_t BufSize) | ||||||
|  | { | ||||||
|  |    LARGE_INTEGER ptr; | ||||||
|  |    DWORD dwSize; | ||||||
|  | 
 | ||||||
|  |    if(SectorSize * nSectors > BufSize) | ||||||
|  |    { | ||||||
|  |       uprintf("write_sectors: Buffer is too small\n"); | ||||||
|  |       return 0; | ||||||
|  |    } | ||||||
|  | 
 | ||||||
|  |    ptr.QuadPart = StartSector*SectorSize; | ||||||
|  |    if(!SetFilePointerEx(hDrive, ptr, NULL, FILE_BEGIN)) | ||||||
|  |    { | ||||||
|  |       uprintf("write_sectors: Could not access sector %d - %s\n", StartSector, WindowsErrorString()); | ||||||
|  |       return 0; | ||||||
|  |    } | ||||||
|  | 
 | ||||||
|  |    if((!WriteFile(hDrive, pBuf, (DWORD)BufSize, &dwSize, NULL)) || (dwSize != BufSize)) | ||||||
|  |    { | ||||||
|  |       uprintf("write_sectors: Write error - %s\n", WindowsErrorString()); | ||||||
|  |       return 0; | ||||||
|  |    } | ||||||
|  | 
 | ||||||
|  |    return 1; | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | int read_sectors(HANDLE hDrive, size_t SectorSize, | ||||||
|  |                  size_t StartSector, size_t nSectors, | ||||||
|  |                  void *pBuf, size_t BufSize) | ||||||
|  | { | ||||||
|  |    LARGE_INTEGER ptr; | ||||||
|  |    DWORD dwSize; | ||||||
|  | 
 | ||||||
|  |    if(SectorSize * nSectors > BufSize) | ||||||
|  |    { | ||||||
|  |       uprintf("read_sectors: Buffer is too small\n"); | ||||||
|  |       return 0; | ||||||
|  |    } | ||||||
|  | 
 | ||||||
|  |    ptr.QuadPart = StartSector*SectorSize; | ||||||
|  |    if(!SetFilePointerEx(hDrive, ptr, NULL, FILE_BEGIN)) | ||||||
|  |    { | ||||||
|  |       uprintf("read_sectors: Could not access sector %d - %s\n", StartSector, WindowsErrorString()); | ||||||
|  |       return 0; | ||||||
|  |    } | ||||||
|  | 
 | ||||||
|  |    if((!ReadFile(hDrive, pBuf, (DWORD)BufSize, &dwSize, NULL)) || (dwSize != BufSize)) | ||||||
|  |    { | ||||||
|  |       uprintf("read_sectors: Read error - %s\n", WindowsErrorString()); | ||||||
|  |       return 0; | ||||||
|  |    } | ||||||
|  | 
 | ||||||
|  |    return 1; | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | /* Use a bastardized fp that contains a Windows handle and the sector size */ | ||||||
|  | int contains_data(FILE *fp, unsigned long ulPosition, | ||||||
|  |                   const void *pData, unsigned int uiLen) | ||||||
|  | { | ||||||
|  |    unsigned char aucBuf[MAX_DATA_LEN]; | ||||||
|  |    HANDLE hDrive = (HANDLE)fp->_ptr; | ||||||
|  |    unsigned long ulSectorSize = (unsigned long)fp->_bufsiz; | ||||||
|  |    unsigned long ulStartSector, ulEndSector, ulNumSectors; | ||||||
|  | 
 | ||||||
|  |    ulStartSector = ulPosition/ulSectorSize; | ||||||
|  |    ulEndSector   = (ulPosition+uiLen+ulSectorSize-1)/ulSectorSize; | ||||||
|  |    ulNumSectors  = ulEndSector - ulStartSector; | ||||||
|  | 
 | ||||||
|  |    if((ulNumSectors*ulSectorSize) > MAX_DATA_LEN) | ||||||
|  |    { | ||||||
|  |       uprintf("Please increase MAX_DATA_LEN in file.h\n"); | ||||||
|  |       return 0; | ||||||
|  |    } | ||||||
|  | 
 | ||||||
|  |    if(!read_sectors(hDrive, ulSectorSize, ulStartSector, | ||||||
|  |                      ulNumSectors, aucBuf, sizeof(aucBuf))) | ||||||
|  |       return 0; | ||||||
|  | 
 | ||||||
|  |    if(memcmp(pData, &aucBuf[ulPosition - ulStartSector*ulSectorSize], uiLen)) | ||||||
|  |       return 0; | ||||||
|  |    return 1; | ||||||
|  | 
 | ||||||
|  | /*
 | ||||||
|  |    // ONLY WORKS IN SECTORS!!!
 | ||||||
|  |    ptr.QuadPart = ulPosition; | ||||||
|  |    uprintf("HANDLE = %p\n", (HANDLE)fp); | ||||||
|  |    if (!SetFilePointerEx((HANDLE)fp, ptr, NULL, FILE_BEGIN)) | ||||||
|  |    { | ||||||
|  |       uprintf("Could not access byte %d - %s\n", ulPosition, WindowsErrorString()); | ||||||
|  |       return 0; | ||||||
|  |    } | ||||||
|  |    uprintf("SEEK to %d OK\n", WindowsErrorString()); | ||||||
|  | 
 | ||||||
|  |    uiLen = 512; | ||||||
|  |    if ((!ReadFile((HANDLE)fp, aucBuf, (DWORD)uiLen, &size, NULL)) || (size != (DWORD)uiLen)) { | ||||||
|  |       uprintf("Read error (size = %d vs %d) - %s\n", size, (DWORD)uiLen, WindowsErrorString()); | ||||||
|  |       return 0; | ||||||
|  |    } | ||||||
|  | 
 | ||||||
|  |    uiLen = 2; | ||||||
|  |    uprintf("aucBuf[0] = %02X, aucBuf[1] = %02X\n", aucBuf[0], aucBuf[1]); | ||||||
|  |    if(memcmp(pData, aucBuf, uiLen)) | ||||||
|  |       return 0; | ||||||
|  |    return 1; | ||||||
|  | */ | ||||||
|  | } /* contains_data */ | ||||||
|  | 
 | ||||||
|  | int write_data(FILE *fp, unsigned long ulPosition, | ||||||
|  |                const void *pData, unsigned int uiLen) | ||||||
|  | { | ||||||
|  |    if(fseek(fp, ulPosition, SEEK_SET)) | ||||||
|  |       return 0; | ||||||
|  |    if(!fwrite(pData, uiLen, 1, fp)) | ||||||
|  |       return 0; | ||||||
|  |    return 1; | ||||||
|  | } /* write_data */ | ||||||
							
								
								
									
										75
									
								
								inc/br.h
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										75
									
								
								inc/br.h
									
										
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,75 @@ | ||||||
|  | #ifndef BR_H | ||||||
|  | #define BR_H | ||||||
|  | 
 | ||||||
|  | #include <stdio.h> | ||||||
|  | 
 | ||||||
|  | /* returns TRUE if the file has a boot record, otherwise FALSE.
 | ||||||
|  |    The file position will change when this function is called! */ | ||||||
|  | int is_br(FILE *fp); | ||||||
|  | 
 | ||||||
|  | /* returns TRUE if the file has a LILO boot record, otherwise FALSE.
 | ||||||
|  |    The file position will change when this function is called! */ | ||||||
|  | int is_lilo_br(FILE *fp); | ||||||
|  | 
 | ||||||
|  | /* returns TRUE if the file has a Microsoft dos master boot record, otherwise
 | ||||||
|  |    FALSE.The file position will change when this function is called! */ | ||||||
|  | int is_dos_mbr(FILE *fp); | ||||||
|  | 
 | ||||||
|  | /* returns TRUE if the file has a Microsoft dos master boot record with the
 | ||||||
|  |    undocumented F2 instruction, otherwise FALSE. The file position will change | ||||||
|  |    when this function is called! */ | ||||||
|  | int is_dos_f2_mbr(FILE *fp); | ||||||
|  | 
 | ||||||
|  | /* returns TRUE if the file has a Microsoft 95b master boot record, otherwise
 | ||||||
|  |    FALSE.The file position will change when this function is called! */ | ||||||
|  | int is_95b_mbr(FILE *fp); | ||||||
|  | 
 | ||||||
|  | /* returns TRUE if the file has a Microsoft 2000 master boot record, otherwise
 | ||||||
|  |    FALSE.The file position will change when this function is called! */ | ||||||
|  | int is_2000_mbr(FILE *fp); | ||||||
|  | 
 | ||||||
|  | /* returns TRUE if the file has a Microsoft Vista master boot record, otherwise
 | ||||||
|  |    FALSE.The file position will change when this function is called! */ | ||||||
|  | int is_vista_mbr(FILE *fp); | ||||||
|  | 
 | ||||||
|  | /* returns TRUE if the file has a Microsoft 7 master boot record, otherwise
 | ||||||
|  |    FALSE.The file position will change when this function is called! */ | ||||||
|  | int is_win7_mbr(FILE *fp); | ||||||
|  | 
 | ||||||
|  | /* returns TRUE if the file has a syslinux master boot record, otherwise
 | ||||||
|  |    FALSE.The file position will change when this function is called! */ | ||||||
|  | int is_syslinux_mbr(FILE *fp); | ||||||
|  | 
 | ||||||
|  | /* returns TRUE if the file has a zeroed master boot record, otherwise
 | ||||||
|  |    FALSE.The file position will change when this function is called! */ | ||||||
|  | int is_zero_mbr(FILE *fp); | ||||||
|  | 
 | ||||||
|  | /* Writes a dos master boot record to a file, returns TRUE on success, otherwise
 | ||||||
|  |    FALSE */ | ||||||
|  | int write_dos_mbr(FILE *fp); | ||||||
|  | 
 | ||||||
|  | /* Writes a 95b master boot record to a file, returns TRUE on success, otherwise
 | ||||||
|  |    FALSE */ | ||||||
|  | int write_95b_mbr(FILE *fp); | ||||||
|  | 
 | ||||||
|  | /* Writes a 2000 master boot record to a file, returns TRUE on success, otherwise
 | ||||||
|  |    FALSE */ | ||||||
|  | int write_2000_mbr(FILE *fp); | ||||||
|  | 
 | ||||||
|  | /* Writes a Vista master boot record to a file, returns TRUE on success, otherwise
 | ||||||
|  |    FALSE */ | ||||||
|  | int write_vista_mbr(FILE *fp); | ||||||
|  | 
 | ||||||
|  | /* Writes a 7 master boot record to a file, returns TRUE on success, otherwise
 | ||||||
|  |    FALSE */ | ||||||
|  | int write_win7_mbr(FILE *fp); | ||||||
|  | 
 | ||||||
|  | /* Writes a syslinux master boot record to a file, returns TRUE on success, otherwise
 | ||||||
|  |    FALSE */ | ||||||
|  | int write_syslinux_mbr(FILE *fp); | ||||||
|  | 
 | ||||||
|  | /* Writes an empty (zeroed) master boot record to a file, returns TRUE on success, otherwise
 | ||||||
|  |    FALSE */ | ||||||
|  | int write_zero_mbr(FILE *fp); | ||||||
|  | 
 | ||||||
|  | #endif | ||||||
							
								
								
									
										3
									
								
								inc/br_fat12_0x0.h
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										3
									
								
								inc/br_fat12_0x0.h
									
										
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,3 @@ | ||||||
|  | unsigned char br_fat12_0x0[] = { | ||||||
|  |   0xeb, 0x3c, 0x90, 0x4d, 0x53, 0x57, 0x49, 0x4e, 0x34, 0x2e, 0x31 | ||||||
|  | }; | ||||||
							
								
								
									
										41
									
								
								inc/br_fat12_0x3e.h
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										41
									
								
								inc/br_fat12_0x3e.h
									
										
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,41 @@ | ||||||
|  | unsigned char br_fat12_0x3e[] = { | ||||||
|  |               0x33, 0xc9, 0x8e, 0xd1, 0xbc, 0xfc, 0x7b, 0x16, 0x07, 0xbd, | ||||||
|  |   0x78, 0x00, 0xc5, 0x76, 0x00, 0x1e, 0x56, 0x16, 0x55, 0xbf, 0x22, 0x05, | ||||||
|  |   0x89, 0x7e, 0x00, 0x89, 0x4e, 0x02, 0xb1, 0x0b, 0xfc, 0xf3, 0xa4, 0x06, | ||||||
|  |   0x1f, 0xbd, 0x00, 0x7c, 0xc6, 0x45, 0xfe, 0x0f, 0x38, 0x4e, 0x24, 0x7d, | ||||||
|  |   0x20, 0x8b, 0xc1, 0x99, 0xe8, 0x7e, 0x01, 0x83, 0xeb, 0x3a, 0x66, 0xa1, | ||||||
|  |   0x1c, 0x7c, 0x66, 0x3b, 0x07, 0x8a, 0x57, 0xfc, 0x75, 0x06, 0x80, 0xca, | ||||||
|  |   0x02, 0x88, 0x56, 0x02, 0x80, 0xc3, 0x10, 0x73, 0xed, 0x33, 0xc9, 0xfe, | ||||||
|  |   0x06, 0xd8, 0x7d, 0x8a, 0x46, 0x10, 0x98, 0xf7, 0x66, 0x16, 0x03, 0x46, | ||||||
|  |   0x1c, 0x13, 0x56, 0x1e, 0x03, 0x46, 0x0e, 0x13, 0xd1, 0x8b, 0x76, 0x11, | ||||||
|  |   0x60, 0x89, 0x46, 0xfc, 0x89, 0x56, 0xfe, 0xb8, 0x20, 0x00, 0xf7, 0xe6, | ||||||
|  |   0x8b, 0x5e, 0x0b, 0x03, 0xc3, 0x48, 0xf7, 0xf3, 0x01, 0x46, 0xfc, 0x11, | ||||||
|  |   0x4e, 0xfe, 0x61, 0xbf, 0x00, 0x07, 0xe8, 0x28, 0x01, 0x72, 0x3e, 0x38, | ||||||
|  |   0x2d, 0x74, 0x17, 0x60, 0xb1, 0x0b, 0xbe, 0xd8, 0x7d, 0xf3, 0xa6, 0x61, | ||||||
|  |   0x74, 0x3d, 0x4e, 0x74, 0x09, 0x83, 0xc7, 0x20, 0x3b, 0xfb, 0x72, 0xe7, | ||||||
|  |   0xeb, 0xdd, 0xfe, 0x0e, 0xd8, 0x7d, 0x7b, 0xa7, 0xbe, 0x7f, 0x7d, 0xac, | ||||||
|  |   0x98, 0x03, 0xf0, 0xac, 0x98, 0x40, 0x74, 0x0c, 0x48, 0x74, 0x13, 0xb4, | ||||||
|  |   0x0e, 0xbb, 0x07, 0x00, 0xcd, 0x10, 0xeb, 0xef, 0xbe, 0x82, 0x7d, 0xeb, | ||||||
|  |   0xe6, 0xbe, 0x80, 0x7d, 0xeb, 0xe1, 0xcd, 0x16, 0x5e, 0x1f, 0x66, 0x8f, | ||||||
|  |   0x04, 0xcd, 0x19, 0xbe, 0x81, 0x7d, 0x8b, 0x7d, 0x1a, 0x8d, 0x45, 0xfe, | ||||||
|  |   0x8a, 0x4e, 0x0d, 0xf7, 0xe1, 0x03, 0x46, 0xfc, 0x13, 0x56, 0xfe, 0xb1, | ||||||
|  |   0x04, 0xe8, 0xc2, 0x00, 0x72, 0xd7, 0xea, 0x00, 0x02, 0x70, 0x00, 0x52, | ||||||
|  |   0x50, 0x06, 0x53, 0x6a, 0x01, 0x6a, 0x10, 0x91, 0x8b, 0x46, 0x18, 0xa2, | ||||||
|  |   0x26, 0x05, 0x96, 0x92, 0x33, 0xd2, 0xf7, 0xf6, 0x91, 0xf7, 0xf6, 0x42, | ||||||
|  |   0x87, 0xca, 0xf7, 0x76, 0x1a, 0x8a, 0xf2, 0x8a, 0xe8, 0xc0, 0xcc, 0x02, | ||||||
|  |   0x0a, 0xcc, 0xb8, 0x01, 0x02, 0x80, 0x7e, 0x02, 0x0e, 0x75, 0x04, 0xb4, | ||||||
|  |   0x42, 0x8b, 0xf4, 0x8a, 0x56, 0x24, 0xcd, 0x13, 0x61, 0x61, 0x72, 0x0a, | ||||||
|  |   0x40, 0x75, 0x01, 0x42, 0x03, 0x5e, 0x0b, 0x49, 0x75, 0x77, 0xc3, 0x03, | ||||||
|  |   0x18, 0x01, 0x27, 0x0d, 0x0a, 0x49, 0x6e, 0x76, 0x61, 0x6c, 0x69, 0x64, | ||||||
|  |   0x20, 0x73, 0x79, 0x73, 0x74, 0x65, 0x6d, 0x20, 0x64, 0x69, 0x73, 0x6b, | ||||||
|  |   0xff, 0x0d, 0x0a, 0x44, 0x69, 0x73, 0x6b, 0x20, 0x49, 0x2f, 0x4f, 0x20, | ||||||
|  |   0x65, 0x72, 0x72, 0x6f, 0x72, 0xff, 0x0d, 0x0a, 0x52, 0x65, 0x70, 0x6c, | ||||||
|  |   0x61, 0x63, 0x65, 0x20, 0x74, 0x68, 0x65, 0x20, 0x64, 0x69, 0x73, 0x6b, | ||||||
|  |   0x2c, 0x20, 0x61, 0x6e, 0x64, 0x20, 0x74, 0x68, 0x65, 0x6e, 0x20, 0x70, | ||||||
|  |   0x72, 0x65, 0x73, 0x73, 0x20, 0x61, 0x6e, 0x79, 0x20, 0x6b, 0x65, 0x79, | ||||||
|  |   0x0d, 0x0a, 0x00, 0x00, 0x49, 0x4f, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, | ||||||
|  |   0x53, 0x59, 0x53, 0x4d, 0x53, 0x44, 0x4f, 0x53, 0x20, 0x20, 0x20, 0x53, | ||||||
|  |   0x59, 0x53, 0x7f, 0x01, 0x00, 0x41, 0xbb, 0x00, 0x07, 0x60, 0x66, 0x6a, | ||||||
|  |   0x00, 0xe9, 0x3b, 0xff, 0x00, 0x00, 0x55, 0xaa | ||||||
|  | }; | ||||||
|  | 
 | ||||||
							
								
								
									
										3
									
								
								inc/br_fat16_0x0.h
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										3
									
								
								inc/br_fat16_0x0.h
									
										
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,3 @@ | ||||||
|  | unsigned char br_fat16_0x0[] = { | ||||||
|  |   0xeb, 0x3c, 0x90, 0x4d, 0x53, 0x57, 0x49, 0x4e, 0x34, 0x2e, 0x31 | ||||||
|  | }; | ||||||
							
								
								
									
										32
									
								
								inc/br_fat16_0x3e.h
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										32
									
								
								inc/br_fat16_0x3e.h
									
										
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,32 @@ | ||||||
|  | unsigned char br_fat16_0x3e[] = { | ||||||
|  |                                                                                       0xfa, 0x33,  | ||||||
|  |   0xc9, 0x8e, 0xd1, 0xbc, 0xfc, 0x7b, 0x16, 0x07, 0xbd, 0x78, 0x00, 0xc5, 0x76, 0x00, 0x1e, 0x56,  | ||||||
|  |   0x16, 0x55, 0xbf, 0x22, 0x05, 0x89, 0x7e, 0x00, 0x89, 0x4e, 0x02, 0xb1, 0x0b, 0xfc, 0xf3, 0xa4,  | ||||||
|  |   0x06, 0x1f, 0xbd, 0x00, 0x7c, 0xc6, 0x45, 0xfe, 0x0f, 0x8b, 0x46, 0x18, 0x88, 0x45, 0xf9, 0x38,  | ||||||
|  |   0x4e, 0x24, 0x7d, 0x22, 0x8b, 0xc1, 0x99, 0xe8, 0x77, 0x01, 0x72, 0x1a, 0x83, 0xeb, 0x3a, 0x66,  | ||||||
|  |   0xa1, 0x1c, 0x7c, 0x66, 0x3b, 0x07, 0x8a, 0x57, 0xfc, 0x75, 0x06, 0x80, 0xca, 0x02, 0x88, 0x56,  | ||||||
|  |   0x02, 0x80, 0xc3, 0x10, 0x73, 0xed, 0x33, 0xc9, 0x8a, 0x46, 0x10, 0x98, 0xf7, 0x66, 0x16, 0x03,  | ||||||
|  |   0x46, 0x1c, 0x13, 0x56, 0x1e, 0x03, 0x46, 0x0e, 0x13, 0xd1, 0x8b, 0x76, 0x11, 0x60, 0x89, 0x46,  | ||||||
|  |   0xfc, 0x89, 0x56, 0xfe, 0xb8, 0x20, 0x00, 0xf7, 0xe6, 0x8b, 0x5e, 0x0b, 0x03, 0xc3, 0x48, 0xf7,  | ||||||
|  |   0xf3, 0x01, 0x46, 0xfc, 0x11, 0x4e, 0xfe, 0x61, 0xbf, 0x00, 0x07, 0xe8, 0x23, 0x01, 0x72, 0x39,  | ||||||
|  |   0x38, 0x2d, 0x74, 0x17, 0x60, 0xb1, 0x0b, 0xbe, 0xd8, 0x7d, 0xf3, 0xa6, 0x61, 0x74, 0x39, 0x4e,  | ||||||
|  |   0x74, 0x09, 0x83, 0xc7, 0x20, 0x3b, 0xfb, 0x72, 0xe7, 0xeb, 0xdd, 0xbe, 0x7f, 0x7d, 0xac, 0x98, | ||||||
|  |   0x03, 0xf0, 0xac, 0x84, 0xc0, 0x74, 0x17, 0x3c, 0xff, 0x74, 0x09, 0xb4, 0x0e, 0xbb, 0x07, 0x00,  | ||||||
|  |   0xcd, 0x10, 0xeb, 0xee, 0xbe, 0x82, 0x7d, 0xeb, 0xe5, 0xbe, 0x80, 0x7d, 0xeb, 0xe0, 0x98, 0xcd,  | ||||||
|  |   0x16, 0x5e, 0x1f, 0x66, 0x8f, 0x04, 0xcd, 0x19, 0xbe, 0x81, 0x7d, 0x8b, 0x7d, 0x1a, 0x8d, 0x45,  | ||||||
|  |   0xfe, 0x8a, 0x4e, 0x0d, 0xf7, 0xe1, 0x03, 0x46, 0xfc, 0x13, 0x56, 0xfe, 0xb1, 0x04, 0xe8, 0xc1, | ||||||
|  |   0x00, 0x72, 0xd6, 0xea, 0x00, 0x02, 0x70, 0x00, 0xb4, 0x42, 0xeb, 0x2d, 0x60, 0x66, 0x6a, 0x00, | ||||||
|  |   0x52, 0x50, 0x06, 0x53, 0x6a, 0x01, 0x6a, 0x10, 0x8b, 0xf4, 0x74, 0xec, 0x91, 0x92, 0x33, 0xd2,  | ||||||
|  |   0xf7, 0x76, 0x18, 0x91, 0xf7, 0x76, 0x18, 0x42, 0x87, 0xca, 0xf7, 0x76, 0x1a, 0x8a, 0xf2, 0x8a,  | ||||||
|  |   0xe8, 0xc0, 0xcc, 0x02, 0x0a, 0xcc, 0xb8, 0x01, 0x02, 0x8a, 0x56, 0x24, 0xcd, 0x13, 0x8d, 0x64,  | ||||||
|  |   0x10, 0x61, 0x72, 0x0a, 0x40, 0x75, 0x01, 0x42, 0x03, 0x5e, 0x0b, 0x49, 0x75, 0x77, 0xc3, 0x03,  | ||||||
|  |   0x18, 0x01, 0x27, 0x0d, 0x0a, 0x49, 0x6e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x20, 0x73, 0x79, 0x73,  | ||||||
|  |   0x74, 0x65, 0x6d, 0x20, 0x64, 0x69, 0x73, 0x6b, 0xff, 0x0d, 0x0a, 0x44, 0x69, 0x73, 0x6b, 0x20,  | ||||||
|  |   0x49, 0x2f, 0x4f, 0x20, 0x65, 0x72, 0x72, 0x6f, 0x72, 0xff, 0x0d, 0x0a, 0x52, 0x65, 0x70, 0x6c,  | ||||||
|  |   0x61, 0x63, 0x65, 0x20, 0x74, 0x68, 0x65, 0x20, 0x64, 0x69, 0x73, 0x6b, 0x2c, 0x20, 0x61, 0x6e,  | ||||||
|  |   0x64, 0x20, 0x74, 0x68, 0x65, 0x6e, 0x20, 0x70, 0x72, 0x65, 0x73, 0x73, 0x20, 0x61, 0x6e, 0x79,  | ||||||
|  |   0x20, 0x6b, 0x65, 0x79, 0x0d, 0x0a, 0x00, 0x00, 0x49, 0x4f, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,  | ||||||
|  |   0x53, 0x59, 0x53, 0x4d, 0x53, 0x44, 0x4f, 0x53, 0x20, 0x20, 0x20, 0x53, 0x59, 0x53, 0x7f, 0x01,  | ||||||
|  |   0x00, 0x41, 0xbb, 0x00, 0x07, 0x80, 0x7e, 0x02, 0x0e, 0xe9, 0x40, 0xff, 0x00, 0x00, 0x55, 0xaa | ||||||
|  | }; | ||||||
|  | 
 | ||||||
							
								
								
									
										37
									
								
								inc/br_fat16fd_0x3e.h
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										37
									
								
								inc/br_fat16fd_0x3e.h
									
										
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,37 @@ | ||||||
|  | /* br_fat16_0x3e.h
 | ||||||
|  | //
 | ||||||
|  | // ANI
 | ||||||
|  | // substring gmbh/tw 14.9.04 
 | ||||||
|  | // modified bootsector 0x03e - 0x200 to support FreeDOS
 | ||||||
|  | */ | ||||||
|  | unsigned char br_fat16_0x3e[] = { 0xfa, 0xfc, | ||||||
|  | 	0x31, 0xc0, 0x8e, 0xd8, 0xbd, 0x00, 0x7c, 0xb8, 0xe0, 0x1f, 0x8e, 0xc0, 0x89, 0xee, 0x89, 0xef,  | ||||||
|  | 	0xb9, 0x00, 0x01, 0xf3, 0xa5, 0xea, 0x5e, 0x7c, 0xe0, 0x1f, 0x00, 0x00, 0x60, 0x00, 0x8e, 0xd8,  | ||||||
|  | 	0x8e, 0xd0, 0x8d, 0x66, 0xa0, 0xfb, 0x80, 0x7e, 0x24, 0xff, 0x75, 0x03, 0x88, 0x56, 0x24, 0xc7,  | ||||||
|  | 	0x46, 0xc0, 0x10, 0x00, 0xc7, 0x46, 0xc2, 0x01, 0x00, 0xe8, 0xe6, 0x00, 0x46, 0x72, 0x65, 0x65,  | ||||||
|  | 	0x44, 0x4f, 0x53, 0x00, 0x8b, 0x76, 0x1c, 0x8b, 0x7e, 0x1e, 0x03, 0x76, 0x0e, 0x83, 0xd7, 0x00,  | ||||||
|  | 	0x89, 0x76, 0xd2, 0x89, 0x7e, 0xd4, 0x8a, 0x46, 0x10, 0x98, 0xf7, 0x66, 0x16, 0x01, 0xc6, 0x11,  | ||||||
|  | 	0xd7, 0x89, 0x76, 0xd6, 0x89, 0x7e, 0xd8, 0x8b, 0x5e, 0x0b, 0xb1, 0x05, 0xd3, 0xeb, 0x8b, 0x46,  | ||||||
|  | 	0x11, 0x31, 0xd2, 0xf7, 0xf3, 0x89, 0x46, 0xd0, 0x01, 0xc6, 0x83, 0xd7, 0x00, 0x89, 0x76, 0xda,  | ||||||
|  | 	0x89, 0x7e, 0xdc, 0x8b, 0x46, 0xd6, 0x8b, 0x56, 0xd8, 0x8b, 0x7e, 0xd0, 0xc4, 0x5e, 0x5a, 0xe8,  | ||||||
|  | 	0x98, 0x00, 0x72, 0x2f, 0xc4, 0x7e, 0x5a, 0xb9, 0x0b, 0x00, 0xbe, 0xf1, 0x7d, 0x57, 0xf3, 0xa6,  | ||||||
|  | 	0x5f, 0x26, 0x8b, 0x45, 0x1a, 0x74, 0x0b, 0x83, 0xc7, 0x20, 0x26, 0x80, 0x3d, 0x00, 0x75, 0xe7,  | ||||||
|  | 	0x72, 0x56, 0x50, 0xc4, 0x5e, 0x5a, 0x8b, 0x7e, 0x16, 0x8b, 0x46, 0xd2, 0x8b, 0x56, 0xd4, 0xe8,  | ||||||
|  | 	0x68, 0x00, 0x58, 0x72, 0x43, 0x1e, 0x07, 0x8e, 0x5e, 0x5c, 0xbf, 0x00, 0x20, 0xab, 0x89, 0xc6,  | ||||||
|  | 	0x8b, 0x56, 0x5c, 0x01, 0xf6, 0x73, 0x03, 0x80, 0xc6, 0x10, 0x8e, 0xda, 0xad, 0x3d, 0xf8, 0xff,  | ||||||
|  | 	0x72, 0xeb, 0x31, 0xc0, 0xab, 0x0e, 0x1f, 0xc4, 0x5e, 0x5a, 0xbe, 0x00, 0x20, 0xad, 0x09, 0xc0,  | ||||||
|  | 	0x74, 0x24, 0x48, 0x48, 0x8b, 0x7e, 0x0d, 0x81, 0xe7, 0xff, 0x00, 0xf7, 0xe7, 0x03, 0x46, 0xda,  | ||||||
|  | 	0x13, 0x56, 0xdc, 0xe8, 0x24, 0x00, 0x73, 0xe5, 0xe8, 0x17, 0x00, 0x20, 0x65, 0x72, 0x72, 0x00,  | ||||||
|  | 	0x30, 0xe4, 0xcd, 0x16, 0xcd, 0x19, 0x8a, 0x5e, 0x24, 0xff, 0x6e, 0x5a, 0x31, 0xdb, 0xb4, 0x0e,  | ||||||
|  | 	0xcd, 0x10, 0x5e, 0xac, 0x56, 0x3c, 0x00, 0x75, 0xf3, 0xc3, 0x56, 0x89, 0x46, 0xc8, 0x89, 0x56,  | ||||||
|  | 	0xca, 0x8c, 0x46, 0xc6, 0x89, 0x5e, 0xc4, 0xb4, 0x41, 0xbb, 0xaa, 0x55, 0x8a, 0x56, 0x24, 0x84,  | ||||||
|  | 	0xd2, 0x74, 0x19, 0xcd, 0x13, 0x72, 0x15, 0xd1, 0xe9, 0x81, 0xdb, 0x54, 0xaa, 0x75, 0x0d, 0x8d,  | ||||||
|  | 	0x76, 0xc0, 0x89, 0x5e, 0xcc, 0x89, 0x5e, 0xce, 0xb4, 0x42, 0xeb, 0x2c, 0x8b, 0x4e, 0xc8, 0x8b,  | ||||||
|  | 	0x56, 0xca, 0x8a, 0x46, 0x18, 0xf6, 0x66, 0x1a, 0x91, 0xf7, 0xf1, 0x92, 0xf6, 0x76, 0x18, 0x89,  | ||||||
|  | 	0xd1, 0x88, 0xc6, 0x86, 0xe9, 0xd0, 0xc9, 0xd0, 0xc9, 0x8a, 0x46, 0x18, 0x28, 0xe0, 0xfe, 0xc4,  | ||||||
|  | 	0x08, 0xe1, 0xc4, 0x5e, 0xc4, 0xb8, 0x01, 0x02, 0x8a, 0x56, 0x24, 0xcd, 0x13, 0x73, 0x06, 0x30,  | ||||||
|  | 	0xe4, 0xcd, 0x13, 0xeb, 0xa2, 0x8b, 0x46, 0x0b, 0xf6, 0x76, 0xc0, 0x01, 0x46, 0xc6, 0x83, 0x46,  | ||||||
|  | 	0xc8, 0x01, 0x83, 0x56, 0xca, 0x00, 0x4f, 0x75, 0xea, 0x8e, 0x46, 0xc6, 0x5e, 0xc3, 0x00, 0x00,  | ||||||
|  | 	0x00, 0x4b, 0x45, 0x52, 0x4e, 0x45, 0x4c, 0x20, 0x20, 0x53, 0x59, 0x53, 0x00, 0x00, 0x55, 0xaa | ||||||
|  | }; | ||||||
|  | 
 | ||||||
							
								
								
									
										3
									
								
								inc/br_fat32_0x0.h
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										3
									
								
								inc/br_fat32_0x0.h
									
										
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,3 @@ | ||||||
|  | unsigned char br_fat32_0x0[] = { | ||||||
|  |   0xeb, 0x58, 0x90, 0x4d, 0x53, 0x57, 0x49, 0x4e, 0x34, 0x2e, 0x31 | ||||||
|  | }; | ||||||
							
								
								
									
										46
									
								
								inc/br_fat32_0x3f0.h
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										46
									
								
								inc/br_fat32_0x3f0.h
									
										
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,46 @@ | ||||||
|  | unsigned char br_fat32_0x3f0[] = { | ||||||
|  |   0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | ||||||
|  |   0x00, 0x00, 0x55, 0xaa, 0xfa, 0x66, 0x0f, 0xb6, 0x46, 0x10, 0x66, 0x8b, | ||||||
|  |   0x4e, 0x24, 0x66, 0xf7, 0xe1, 0x66, 0x03, 0x46, 0x1c, 0x66, 0x0f, 0xb7, | ||||||
|  |   0x56, 0x0e, 0x66, 0x03, 0xc2, 0x33, 0xc9, 0x66, 0x89, 0x46, 0xfc, 0x66, | ||||||
|  |   0xc7, 0x46, 0xf8, 0xff, 0xff, 0xff, 0xff, 0xfa, 0x66, 0x8b, 0x46, 0x2c, | ||||||
|  |   0x66, 0x83, 0xf8, 0x02, 0x0f, 0x82, 0xcf, 0xfc, 0x66, 0x3d, 0xf8, 0xff, | ||||||
|  |   0xff, 0x0f, 0x0f, 0x83, 0xc5, 0xfc, 0x66, 0x0f, 0xa4, 0xc2, 0x10, 0xfb, | ||||||
|  |   0x52, 0x50, 0xfa, 0x66, 0xc1, 0xe0, 0x10, 0x66, 0x0f, 0xac, 0xd0, 0x10, | ||||||
|  |   0x66, 0x83, 0xe8, 0x02, 0x66, 0x0f, 0xb6, 0x5e, 0x0d, 0x8b, 0xf3, 0x66, | ||||||
|  |   0xf7, 0xe3, 0x66, 0x03, 0x46, 0xfc, 0x66, 0x0f, 0xa4, 0xc2, 0x10, 0xfb, | ||||||
|  |   0xbb, 0x00, 0x07, 0x8b, 0xfb, 0xb9, 0x01, 0x00, 0xe8, 0xbe, 0xfc, 0x0f, | ||||||
|  |   0x82, 0xaa, 0xfc, 0x38, 0x2d, 0x74, 0x1e, 0xb1, 0x0b, 0x56, 0xbe, 0xd8, | ||||||
|  |   0x7d, 0xf3, 0xa6, 0x5e, 0x74, 0x19, 0x03, 0xf9, 0x83, 0xc7, 0x15, 0x3b, | ||||||
|  |   0xfb, 0x72, 0xe8, 0x4e, 0x75, 0xd6, 0x58, 0x5a, 0xe8, 0x66, 0x00, 0x72, | ||||||
|  |   0xab, 0x83, 0xc4, 0x04, 0xe9, 0x64, 0xfc, 0x83, 0xc4, 0x04, 0x8b, 0x75, | ||||||
|  |   0x09, 0x8b, 0x7d, 0x0f, 0x8b, 0xc6, 0xfa, 0x66, 0xc1, 0xe0, 0x10, 0x8b, | ||||||
|  |   0xc7, 0x66, 0x83, 0xf8, 0x02, 0x72, 0x3b, 0x66, 0x3d, 0xf8, 0xff, 0xff, | ||||||
|  |   0x0f, 0x73, 0x33, 0x66, 0x48, 0x66, 0x48, 0x66, 0x0f, 0xb6, 0x4e, 0x0d, | ||||||
|  |   0x66, 0xf7, 0xe1, 0x66, 0x03, 0x46, 0xfc, 0x66, 0x0f, 0xa4, 0xc2, 0x10, | ||||||
|  |   0xfb, 0xbb, 0x00, 0x07, 0x53, 0xb9, 0x04, 0x00, 0xe8, 0x52, 0xfc, 0x5b, | ||||||
|  |   0x0f, 0x82, 0x3d, 0xfc, 0x81, 0x3f, 0x4d, 0x5a, 0x75, 0x08, 0x81, 0xbf, | ||||||
|  |   0x00, 0x02, 0x42, 0x4a, 0x74, 0x06, 0xbe, 0x80, 0x7d, 0xe9, 0x0e, 0xfc, | ||||||
|  |   0xea, 0x00, 0x02, 0x70, 0x00, 0x03, 0xc0, 0x13, 0xd2, 0x03, 0xc0, 0x13, | ||||||
|  |   0xd2, 0xe8, 0x18, 0x00, 0xfa, 0x26, 0x66, 0x8b, 0x01, 0x66, 0x25, 0xff, | ||||||
|  |   0xff, 0xff, 0x0f, 0x66, 0x0f, 0xa4, 0xc2, 0x10, 0x66, 0x3d, 0xf8, 0xff, | ||||||
|  |   0xff, 0x0f, 0xfb, 0xc3, 0xbf, 0x00, 0x7e, 0xfa, 0x66, 0xc1, 0xe0, 0x10, | ||||||
|  |   0x66, 0x0f, 0xac, 0xd0, 0x10, 0x66, 0x0f, 0xb7, 0x4e, 0x0b, 0x66, 0x33, | ||||||
|  |   0xd2, 0x66, 0xf7, 0xf1, 0x66, 0x3b, 0x46, 0xf8, 0x74, 0x44, 0x66, 0x89, | ||||||
|  |   0x46, 0xf8, 0x66, 0x03, 0x46, 0x1c, 0x66, 0x0f, 0xb7, 0x4e, 0x0e, 0x66, | ||||||
|  |   0x03, 0xc1, 0x66, 0x0f, 0xb7, 0x5e, 0x28, 0x83, 0xe3, 0x0f, 0x74, 0x16, | ||||||
|  |   0x3a, 0x5e, 0x10, 0x0f, 0x83, 0xa4, 0xfb, 0x52, 0x66, 0x8b, 0xc8, 0x66, | ||||||
|  |   0x8b, 0x46, 0x24, 0x66, 0xf7, 0xe3, 0x66, 0x03, 0xc1, 0x5a, 0x52, 0x66, | ||||||
|  |   0x0f, 0xa4, 0xc2, 0x10, 0xfb, 0x8b, 0xdf, 0xb9, 0x01, 0x00, 0xe8, 0xb4, | ||||||
|  |   0xfb, 0x5a, 0x0f, 0x82, 0x9f, 0xfb, 0xfb, 0x8b, 0xda, 0xc3, 0x00, 0x00, | ||||||
|  |   0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | ||||||
|  |   0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | ||||||
|  |   0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | ||||||
|  |   0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | ||||||
|  |   0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | ||||||
|  |   0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | ||||||
|  |   0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | ||||||
|  |   0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | ||||||
|  |   0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | ||||||
|  |   0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x55, 0xaa | ||||||
|  | }; | ||||||
							
								
								
									
										80
									
								
								inc/br_fat32_0x52.h
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										80
									
								
								inc/br_fat32_0x52.h
									
										
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,80 @@ | ||||||
|  | unsigned char br_fat32_0x52[] = { | ||||||
|  |                                                               0x46, 0x41, | ||||||
|  |   0x54, 0x33, 0x32, 0x20, 0x20, 0x20, 0xfa, 0x33, 0xc9, 0x8e, 0xd1, 0xbc, | ||||||
|  |   0xf8, 0x7b, 0x8e, 0xc1, 0xbd, 0x78, 0x00, 0xc5, 0x76, 0x00, 0x1e, 0x56, | ||||||
|  |   0x16, 0x55, 0xbf, 0x22, 0x05, 0x89, 0x7e, 0x00, 0x89, 0x4e, 0x02, 0xb1, | ||||||
|  |   0x0b, 0xfc, 0xf3, 0xa4, 0x8e, 0xd9, 0xbd, 0x00, 0x7c, 0xc6, 0x45, 0xfe, | ||||||
|  |   0x0f, 0x8b, 0x46, 0x18, 0x88, 0x45, 0xf9, 0x38, 0x4e, 0x40, 0x7d, 0x25, | ||||||
|  |   0x8b, 0xc1, 0x99, 0xbb, 0x00, 0x07, 0xe8, 0x97, 0x00, 0x72, 0x1a, 0x83, | ||||||
|  |   0xeb, 0x3a, 0x66, 0xa1, 0x1c, 0x7c, 0x66, 0x3b, 0x07, 0x8a, 0x57, 0xfc, | ||||||
|  |   0x75, 0x06, 0x80, 0xca, 0x02, 0x88, 0x56, 0x02, 0x80, 0xc3, 0x10, 0x73, | ||||||
|  |   0xed, 0xbf, 0x02, 0x00, 0x83, 0x7e, 0x16, 0x00, 0x75, 0x45, 0x8b, 0x46, | ||||||
|  |   0x1c, 0x8b, 0x56, 0x1e, 0xb9, 0x03, 0x00, 0x49, 0x40, 0x75, 0x01, 0x42, | ||||||
|  |   0xbb, 0x00, 0x7e, 0xe8, 0x5f, 0x00, 0x73, 0x26, 0xb0, 0xf8, 0x4f, 0x74, | ||||||
|  |   0x1d, 0x8b, 0x46, 0x32, 0x33, 0xd2, 0xb9, 0x03, 0x00, 0x3b, 0xc8, 0x77, | ||||||
|  |   0x1e, 0x8b, 0x76, 0x0e, 0x3b, 0xce, 0x73, 0x17, 0x2b, 0xf1, 0x03, 0x46, | ||||||
|  |   0x1c, 0x13, 0x56, 0x1e, 0xeb, 0xd1, 0x73, 0x0b, 0xeb, 0x27, 0x83, 0x7e, | ||||||
|  |   0x2a, 0x00, 0x77, 0x03, 0xe9, 0xfd, 0x02, 0xbe, 0x7e, 0x7d, 0xac, 0x98, | ||||||
|  |   0x03, 0xf0, 0xac, 0x84, 0xc0, 0x74, 0x17, 0x3c, 0xff, 0x74, 0x09, 0xb4, | ||||||
|  |   0x0e, 0xbb, 0x07, 0x00, 0xcd, 0x10, 0xeb, 0xee, 0xbe, 0x81, 0x7d, 0xeb, | ||||||
|  |   0xe5, 0xbe, 0x7f, 0x7d, 0xeb, 0xe0, 0x98, 0xcd, 0x16, 0x5e, 0x1f, 0x66, | ||||||
|  |   0x8f, 0x04, 0xcd, 0x19, 0x41, 0x56, 0x66, 0x6a, 0x00, 0x52, 0x50, 0x06, | ||||||
|  |   0x53, 0x6a, 0x01, 0x6a, 0x10, 0x8b, 0xf4, 0x60, 0x80, 0x7e, 0x02, 0x0e, | ||||||
|  |   0x75, 0x04, 0xb4, 0x42, 0xeb, 0x1d, 0x91, 0x92, 0x33, 0xd2, 0xf7, 0x76, | ||||||
|  |   0x18, 0x91, 0xf7, 0x76, 0x18, 0x42, 0x87, 0xca, 0xf7, 0x76, 0x1a, 0x8a, | ||||||
|  |   0xf2, 0x8a, 0xe8, 0xc0, 0xcc, 0x02, 0x0a, 0xcc, 0xb8, 0x01, 0x02, 0x8a, | ||||||
|  |   0x56, 0x40, 0xcd, 0x13, 0x61, 0x8d, 0x64, 0x10, 0x5e, 0x72, 0x0a, 0x40, | ||||||
|  |   0x75, 0x01, 0x42, 0x03, 0x5e, 0x0b, 0x49, 0x75, 0xb4, 0xc3, 0x03, 0x18, | ||||||
|  |   0x01, 0x27, 0x0d, 0x0a, 0x49, 0x6e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x20, | ||||||
|  |   0x73, 0x79, 0x73, 0x74, 0x65, 0x6d, 0x20, 0x64, 0x69, 0x73, 0x6b, 0xff, | ||||||
|  |   0x0d, 0x0a, 0x44, 0x69, 0x73, 0x6b, 0x20, 0x49, 0x2f, 0x4f, 0x20, 0x65, | ||||||
|  |   0x72, 0x72, 0x6f, 0x72, 0xff, 0x0d, 0x0a, 0x52, 0x65, 0x70, 0x6c, 0x61, | ||||||
|  |   0x63, 0x65, 0x20, 0x74, 0x68, 0x65, 0x20, 0x64, 0x69, 0x73, 0x6b, 0x2c, | ||||||
|  |   0x20, 0x61, 0x6e, 0x64, 0x20, 0x74, 0x68, 0x65, 0x6e, 0x20, 0x70, 0x72, | ||||||
|  |   0x65, 0x73, 0x73, 0x20, 0x61, 0x6e, 0x79, 0x20, 0x6b, 0x65, 0x79, 0x0d, | ||||||
|  |   0x0a, 0x00, 0x00, 0x00, 0x49, 0x4f, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, | ||||||
|  |   0x53, 0x59, 0x53, 0x4d, 0x53, 0x44, 0x4f, 0x53, 0x20, 0x20, 0x20, 0x53, | ||||||
|  |   0x59, 0x53, 0x7e, 0x01, 0x00, 0x57, 0x49, 0x4e, 0x42, 0x4f, 0x4f, 0x54, | ||||||
|  |   0x20, 0x53, 0x59, 0x53, 0x00, 0x00, 0x55, 0xaa, 0x52, 0x52, 0x61, 0x41, | ||||||
|  |   0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | ||||||
|  |   0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | ||||||
|  |   0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | ||||||
|  |   0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | ||||||
|  |   0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | ||||||
|  |   0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | ||||||
|  |   0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | ||||||
|  |   0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | ||||||
|  |   0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | ||||||
|  |   0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | ||||||
|  |   0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | ||||||
|  |   0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | ||||||
|  |   0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | ||||||
|  |   0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | ||||||
|  |   0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | ||||||
|  |   0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | ||||||
|  |   0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | ||||||
|  |   0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | ||||||
|  |   0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | ||||||
|  |   0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | ||||||
|  |   0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | ||||||
|  |   0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | ||||||
|  |   0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | ||||||
|  |   0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | ||||||
|  |   0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | ||||||
|  |   0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | ||||||
|  |   0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | ||||||
|  |   0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | ||||||
|  |   0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | ||||||
|  |   0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | ||||||
|  |   0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | ||||||
|  |   0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | ||||||
|  |   0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | ||||||
|  |   0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | ||||||
|  |   0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | ||||||
|  |   0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | ||||||
|  |   0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | ||||||
|  |   0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | ||||||
|  |   0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | ||||||
|  |   0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | ||||||
|  |   0x72, 0x72, 0x41, 0x61 | ||||||
|  | }; | ||||||
							
								
								
									
										53
									
								
								inc/br_fat32fd_0x3f0.h
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										53
									
								
								inc/br_fat32fd_0x3f0.h
									
										
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,53 @@ | ||||||
|  | /* br_fat32_0x52.h
 | ||||||
|  | //
 | ||||||
|  | // ANI
 | ||||||
|  | // substring gmbh/tw 14.9.04 
 | ||||||
|  | // modified cluster code 0x3f0 to support FreeDOS
 | ||||||
|  | */ | ||||||
|  | unsigned char br_fat32_0x3f0[] = { | ||||||
|  |     0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,  | ||||||
|  |     0x00, 0x00, 0x55, 0xaa, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,  | ||||||
|  |     0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,  | ||||||
|  |     0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,  | ||||||
|  |     0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,  | ||||||
|  |     0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,  | ||||||
|  |     0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,  | ||||||
|  |     0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,  | ||||||
|  |     0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,  | ||||||
|  |     0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,  | ||||||
|  |     0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,  | ||||||
|  |     0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,  | ||||||
|  |     0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,  | ||||||
|  |     0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,  | ||||||
|  |     0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,  | ||||||
|  |     0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,  | ||||||
|  |     0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,  | ||||||
|  |     0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,  | ||||||
|  |     0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,  | ||||||
|  |     0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,  | ||||||
|  |     0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,  | ||||||
|  |     0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,  | ||||||
|  |     0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,  | ||||||
|  |     0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,  | ||||||
|  |     0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,  | ||||||
|  |     0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,  | ||||||
|  |     0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,  | ||||||
|  |     0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,  | ||||||
|  |     0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,  | ||||||
|  |     0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,  | ||||||
|  |     0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,  | ||||||
|  |     0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,  | ||||||
|  |     0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,  | ||||||
|  |     0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,  | ||||||
|  |     0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,  | ||||||
|  |     0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,  | ||||||
|  |     0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,  | ||||||
|  |     0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,  | ||||||
|  |     0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,  | ||||||
|  |     0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,  | ||||||
|  |     0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,  | ||||||
|  |     0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,  | ||||||
|  |     0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,  | ||||||
|  |     0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x55, 0xaa | ||||||
|  | }; | ||||||
|  | 
 | ||||||
							
								
								
									
										86
									
								
								inc/br_fat32fd_0x52.h
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										86
									
								
								inc/br_fat32fd_0x52.h
									
										
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,86 @@ | ||||||
|  | /* br_fat32_0x52.h
 | ||||||
|  | //
 | ||||||
|  | // ANI
 | ||||||
|  | // substring gmbh/tw 14.9.04 
 | ||||||
|  | // modified bootstrap code 0x052 to support FreeDOS
 | ||||||
|  | */ | ||||||
|  | unsigned char br_fat32_0x52[] = { | ||||||
|  |     0x46, 0x41, 0x54, 0x33, 0x32, 0x20, 0x20, 0x20, 0xfc, 0xfa, 0x29, 0xc0,  | ||||||
|  |     0x8e, 0xd8, 0xbd, 0x00, 0x7c, 0xb8, 0xe0, 0x1f, 0x8e, 0xc0, 0x89, 0xee,  | ||||||
|  |     0x89, 0xef, 0xb9, 0x00, 0x01, 0xf3, 0xa5, 0xea, 0x7a, 0x7c, 0xe0, 0x1f,  | ||||||
|  |     0x00, 0x00, 0x60, 0x00, 0x8e, 0xd8, 0x8e, 0xd0, 0x8d, 0x66, 0xe0, 0xfb,  | ||||||
|  |     0x88, 0x56, 0x40, 0xbe, 0xc1, 0x7d, 0xe8, 0xf4, 0x00, 0x66, 0x31, 0xc0,  | ||||||
|  |     0x66, 0x89, 0x46, 0x44, 0x8b, 0x46, 0x0e, 0x66, 0x03, 0x46, 0x1c, 0x66,  | ||||||
|  |     0x89, 0x46, 0x48, 0x66, 0x89, 0x46, 0x4c, 0x66, 0x8b, 0x46, 0x10, 0x66,  | ||||||
|  |     0xf7, 0x6e, 0x24, 0x66, 0x01, 0x46, 0x4c, 0xb8, 0x00, 0x02, 0x3b, 0x46,  | ||||||
|  |     0x0b, 0x74, 0x08, 0x01, 0xc0, 0xff, 0x06, 0x34, 0x7d, 0xeb, 0xf3, 0x66,  | ||||||
|  |     0x8b, 0x46, 0x2c, 0x66, 0x50, 0xe8, 0x94, 0x00, 0x72, 0x4d, 0xc4, 0x5e,  | ||||||
|  |     0x76, 0xe8, 0xb7, 0x00, 0x31, 0xff, 0xb9, 0x0b, 0x00, 0xbe, 0xf1, 0x7d,  | ||||||
|  |     0xf3, 0xa6, 0x74, 0x15, 0x83, 0xc7, 0x20, 0x83, 0xe7, 0xe0, 0x3b, 0x7e,  | ||||||
|  |     0x0b, 0x75, 0xeb, 0x4a, 0x75, 0xe0, 0x66, 0x58, 0xe8, 0x34, 0x00, 0xeb,  | ||||||
|  |     0xd2, 0x26, 0xff, 0x75, 0x09, 0x26, 0xff, 0x75, 0x0f, 0x66, 0x58, 0x29,  | ||||||
|  |     0xdb, 0x66, 0x50, 0xe8, 0x5a, 0x00, 0x72, 0x0d, 0xe8, 0x80, 0x00, 0x4a,  | ||||||
|  |     0x75, 0xfa, 0x66, 0x58, 0xe8, 0x14, 0x00, 0xeb, 0xec, 0x8a, 0x5e, 0x40,  | ||||||
|  |     0xff, 0x6e, 0x76, 0xbe, 0xee, 0x7d, 0xe8, 0x64, 0x00, 0x30, 0xe4, 0xcd,  | ||||||
|  |     0x16, 0xcd, 0x19, 0x06, 0x57, 0x53, 0x89, 0xc7, 0xc1, 0xe7, 0x02, 0x50,  | ||||||
|  |     0x8b, 0x46, 0x0b, 0x48, 0x21, 0xc7, 0x58, 0x66, 0xc1, 0xe8, 0x07, 0x66,  | ||||||
|  |     0x03, 0x46, 0x48, 0xbb, 0x00, 0x20, 0x8e, 0xc3, 0x29, 0xdb, 0x66, 0x3b,  | ||||||
|  |     0x46, 0x44, 0x74, 0x07, 0x66, 0x89, 0x46, 0x44, 0xe8, 0x38, 0x00, 0x26,  | ||||||
|  |     0x80, 0x65, 0x03, 0x0f, 0x26, 0x66, 0x8b, 0x05, 0x5b, 0x5f, 0x07, 0xc3,  | ||||||
|  |     0x66, 0x3d, 0xf8, 0xff, 0xff, 0x0f, 0x73, 0x15, 0x66, 0x48, 0x66, 0x48,  | ||||||
|  |     0x66, 0x0f, 0xb6, 0x56, 0x0d, 0x66, 0x52, 0x66, 0xf7, 0xe2, 0x66, 0x5a,  | ||||||
|  |     0x66, 0x03, 0x46, 0x4c, 0xc3, 0xf9, 0xc3, 0x31, 0xdb, 0xb4, 0x0e, 0xcd,  | ||||||
|  |     0x10, 0xac, 0x3c, 0x00, 0x75, 0xf5, 0xc3, 0x52, 0x56, 0x57, 0x66, 0x50,  | ||||||
|  |     0x89, 0xe7, 0x6a, 0x00, 0x6a, 0x00, 0x66, 0x50, 0x06, 0x53, 0x6a, 0x01,  | ||||||
|  |     0x6a, 0x10, 0x89, 0xe6, 0x8a, 0x56, 0x40, 0xb4, 0x42, 0xcd, 0x13, 0x89,  | ||||||
|  |     0xfc, 0x66, 0x58, 0x73, 0x08, 0x50, 0x30, 0xe4, 0xcd, 0x13, 0x58, 0xeb,  | ||||||
|  |     0xd9, 0x66, 0x40, 0x03, 0x5e, 0x0b, 0x73, 0x07, 0x8c, 0xc2, 0x80, 0xc6,  | ||||||
|  |     0x10, 0x8e, 0xc2, 0x5f, 0x5e, 0x5a, 0xc3, 0x4c, 0x6f, 0x61, 0x64, 0x69,  | ||||||
|  |     0x6e, 0x67, 0x20, 0x46, 0x72, 0x65, 0x65, 0x44, 0x4f, 0x53, 0x20, 0x00,  | ||||||
|  |     0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,  | ||||||
|  |     0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,  | ||||||
|  |     0x00, 0x00, 0x00, 0x00, 0x4e, 0x6f, 0x20, 0x4b, 0x45, 0x52, 0x4e, 0x45,  | ||||||
|  |     0x4c, 0x20, 0x20, 0x53, 0x59, 0x53, 0x00, 0x00, 0x55, 0xaa, 0x52, 0x52,  | ||||||
|  |     0x61, 0x41, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,  | ||||||
|  |     0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,  | ||||||
|  |     0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,  | ||||||
|  |     0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,  | ||||||
|  |     0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,  | ||||||
|  |     0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,  | ||||||
|  |     0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,  | ||||||
|  |     0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,  | ||||||
|  |     0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,  | ||||||
|  |     0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,  | ||||||
|  |     0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,  | ||||||
|  |     0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,  | ||||||
|  |     0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,  | ||||||
|  |     0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,  | ||||||
|  |     0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,  | ||||||
|  |     0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,  | ||||||
|  |     0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,  | ||||||
|  |     0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,  | ||||||
|  |     0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,  | ||||||
|  |     0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,  | ||||||
|  |     0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,  | ||||||
|  |     0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,  | ||||||
|  |     0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,  | ||||||
|  |     0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,  | ||||||
|  |     0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,  | ||||||
|  |     0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,  | ||||||
|  |     0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,  | ||||||
|  |     0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,  | ||||||
|  |     0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,  | ||||||
|  |     0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,  | ||||||
|  |     0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,  | ||||||
|  |     0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,  | ||||||
|  |     0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,  | ||||||
|  |     0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,  | ||||||
|  |     0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,  | ||||||
|  |     0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,  | ||||||
|  |     0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,  | ||||||
|  |     0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,  | ||||||
|  |     0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,  | ||||||
|  |     0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,  | ||||||
|  |     0x00, 0x00, 0x72, 0x72, 0x41, 0x61 | ||||||
|  | }; | ||||||
|  | 
 | ||||||
							
								
								
									
										3
									
								
								inc/br_fat32nt_0x0.h
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										3
									
								
								inc/br_fat32nt_0x0.h
									
										
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,3 @@ | ||||||
|  | unsigned char br_fat32nt_0x0[] = { | ||||||
|  |   0xeb, 0x58, 0x90, 0x4d, 0x53, 0x57, 0x49, 0x4e, 0x34, 0x2e, 0x31 | ||||||
|  | }; | ||||||
							
								
								
									
										45
									
								
								inc/br_fat32nt_0x1800.h
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										45
									
								
								inc/br_fat32nt_0x1800.h
									
										
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,45 @@ | ||||||
|  | unsigned char br_fat32nt_0x1800[] = { | ||||||
|  |   0x66, 0x0f, 0xb6, 0x46, 0x10, 0x66, 0x8b, 0x4e, 0x24, 0x66, 0xf7, 0xe1, | ||||||
|  |   0x66, 0x03, 0x46, 0x1c, 0x66, 0x0f, 0xb7, 0x56, 0x0e, 0x66, 0x03, 0xc2, | ||||||
|  |   0x66, 0x89, 0x46, 0xfc, 0x66, 0xc7, 0x46, 0xf4, 0xff, 0xff, 0xff, 0xff, | ||||||
|  |   0x66, 0x8b, 0x46, 0x2c, 0x66, 0x83, 0xf8, 0x02, 0x0f, 0x82, 0xa6, 0xfc, | ||||||
|  |   0x66, 0x3d, 0xf8, 0xff, 0xff, 0x0f, 0x0f, 0x83, 0x9c, 0xfc, 0x66, 0x50, | ||||||
|  |   0x66, 0x83, 0xe8, 0x02, 0x66, 0x0f, 0xb6, 0x5e, 0x0d, 0x8b, 0xf3, 0x66, | ||||||
|  |   0xf7, 0xe3, 0x66, 0x03, 0x46, 0xfc, 0xbb, 0x00, 0x82, 0x8b, 0xfb, 0xb9, | ||||||
|  |   0x01, 0x00, 0xe8, 0x87, 0xfc, 0x38, 0x2d, 0x74, 0x1e, 0xb1, 0x0b, 0x56, | ||||||
|  |   0xbe, 0x70, 0x7d, 0xf3, 0xa6, 0x5e, 0x74, 0x1b, 0x03, 0xf9, 0x83, 0xc7, | ||||||
|  |   0x15, 0x3b, 0xfb, 0x72, 0xe8, 0x4e, 0x75, 0xda, 0x66, 0x58, 0xe8, 0x65, | ||||||
|  |   0x00, 0x72, 0xbf, 0x83, 0xc4, 0x04, 0xe9, 0x55, 0xfc, 0x00, 0x20, 0x83, | ||||||
|  |   0xc4, 0x04, 0x8b, 0x75, 0x09, 0x8b, 0x7d, 0x0f, 0x8b, 0xc6, 0x66, 0xc1, | ||||||
|  |   0xe0, 0x10, 0x8b, 0xc7, 0x66, 0x83, 0xf8, 0x02, 0x0f, 0x82, 0x3a, 0xfc, | ||||||
|  |   0x66, 0x3d, 0xf8, 0xff, 0xff, 0x0f, 0x0f, 0x83, 0x30, 0xfc, 0x66, 0x50, | ||||||
|  |   0x66, 0x83, 0xe8, 0x02, 0x66, 0x0f, 0xb6, 0x4e, 0x0d, 0x66, 0xf7, 0xe1, | ||||||
|  |   0x66, 0x03, 0x46, 0xfc, 0xbb, 0x00, 0x00, 0x06, 0x8e, 0x06, 0x81, 0x80, | ||||||
|  |   0xe8, 0x1d, 0xfc, 0x07, 0x66, 0x58, 0xc1, 0xeb, 0x04, 0x01, 0x1e, 0x81, | ||||||
|  |   0x80, 0xe8, 0x0e, 0x00, 0x0f, 0x83, 0x02, 0x00, 0x72, 0xd0, 0x8a, 0x56, | ||||||
|  |   0x40, 0xea, 0x00, 0x00, 0x00, 0x20, 0x66, 0xc1, 0xe0, 0x02, 0xe8, 0x11, | ||||||
|  |   0x00, 0x26, 0x66, 0x8b, 0x01, 0x66, 0x25, 0xff, 0xff, 0xff, 0x0f, 0x66, | ||||||
|  |   0x3d, 0xf8, 0xff, 0xff, 0x0f, 0xc3, 0xbf, 0x00, 0x7e, 0x66, 0x0f, 0xb7, | ||||||
|  |   0x4e, 0x0b, 0x66, 0x33, 0xd2, 0x66, 0xf7, 0xf1, 0x66, 0x3b, 0x46, 0xf4, | ||||||
|  |   0x74, 0x3a, 0x66, 0x89, 0x46, 0xf4, 0x66, 0x03, 0x46, 0x1c, 0x66, 0x0f, | ||||||
|  |   0xb7, 0x4e, 0x0e, 0x66, 0x03, 0xc1, 0x66, 0x0f, 0xb7, 0x5e, 0x28, 0x83, | ||||||
|  |   0xe3, 0x0f, 0x74, 0x16, 0x3a, 0x5e, 0x10, 0x0f, 0x83, 0xab, 0xfb, 0x52, | ||||||
|  |   0x66, 0x8b, 0xc8, 0x66, 0x8b, 0x46, 0x24, 0x66, 0xf7, 0xe3, 0x66, 0x03, | ||||||
|  |   0xc1, 0x5a, 0x52, 0x8b, 0xdf, 0xb9, 0x01, 0x00, 0xe8, 0x9d, 0xfb, 0x5a, | ||||||
|  |   0x8b, 0xda, 0xc3, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | ||||||
|  |   0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | ||||||
|  |   0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | ||||||
|  |   0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | ||||||
|  |   0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | ||||||
|  |   0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | ||||||
|  |   0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | ||||||
|  |   0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | ||||||
|  |   0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | ||||||
|  |   0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | ||||||
|  |   0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | ||||||
|  |   0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | ||||||
|  |   0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | ||||||
|  |   0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | ||||||
|  |   0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | ||||||
|  |   0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x55, 0xaa | ||||||
|  | }; | ||||||
							
								
								
									
										46
									
								
								inc/br_fat32nt_0x3f0.h
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										46
									
								
								inc/br_fat32nt_0x3f0.h
									
										
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,46 @@ | ||||||
|  | unsigned char br_fat32nt_0x3f0[] = { | ||||||
|  |   0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | ||||||
|  |   0x00, 0x00, 0x55, 0xaa, 0xfa, 0x66, 0x0f, 0xb6, 0x46, 0x10, 0x66, 0x8b, | ||||||
|  |   0x4e, 0x24, 0x66, 0xf7, 0xe1, 0x66, 0x03, 0x46, 0x1c, 0x66, 0x0f, 0xb7, | ||||||
|  |   0x56, 0x0e, 0x66, 0x03, 0xc2, 0x33, 0xc9, 0x66, 0x89, 0x46, 0xfc, 0x66, | ||||||
|  |   0xc7, 0x46, 0xf8, 0xff, 0xff, 0xff, 0xff, 0xfa, 0x66, 0x8b, 0x46, 0x2c, | ||||||
|  |   0x66, 0x83, 0xf8, 0x02, 0x0f, 0x82, 0xcf, 0xfc, 0x66, 0x3d, 0xf8, 0xff, | ||||||
|  |   0xff, 0x0f, 0x0f, 0x83, 0xc5, 0xfc, 0x66, 0x0f, 0xa4, 0xc2, 0x10, 0xfb, | ||||||
|  |   0x52, 0x50, 0xfa, 0x66, 0xc1, 0xe0, 0x10, 0x66, 0x0f, 0xac, 0xd0, 0x10, | ||||||
|  |   0x66, 0x83, 0xe8, 0x02, 0x66, 0x0f, 0xb6, 0x5e, 0x0d, 0x8b, 0xf3, 0x66, | ||||||
|  |   0xf7, 0xe3, 0x66, 0x03, 0x46, 0xfc, 0x66, 0x0f, 0xa4, 0xc2, 0x10, 0xfb, | ||||||
|  |   0xbb, 0x00, 0x07, 0x8b, 0xfb, 0xb9, 0x01, 0x00, 0xe8, 0xbe, 0xfc, 0x0f, | ||||||
|  |   0x82, 0xaa, 0xfc, 0x38, 0x2d, 0x74, 0x1e, 0xb1, 0x0b, 0x56, 0xbe, 0xd8, | ||||||
|  |   0x7d, 0xf3, 0xa6, 0x5e, 0x74, 0x19, 0x03, 0xf9, 0x83, 0xc7, 0x15, 0x3b, | ||||||
|  |   0xfb, 0x72, 0xe8, 0x4e, 0x75, 0xd6, 0x58, 0x5a, 0xe8, 0x66, 0x00, 0x72, | ||||||
|  |   0xab, 0x83, 0xc4, 0x04, 0xe9, 0x64, 0xfc, 0x83, 0xc4, 0x04, 0x8b, 0x75, | ||||||
|  |   0x09, 0x8b, 0x7d, 0x0f, 0x8b, 0xc6, 0xfa, 0x66, 0xc1, 0xe0, 0x10, 0x8b, | ||||||
|  |   0xc7, 0x66, 0x83, 0xf8, 0x02, 0x72, 0x3b, 0x66, 0x3d, 0xf8, 0xff, 0xff, | ||||||
|  |   0x0f, 0x73, 0x33, 0x66, 0x48, 0x66, 0x48, 0x66, 0x0f, 0xb6, 0x4e, 0x0d, | ||||||
|  |   0x66, 0xf7, 0xe1, 0x66, 0x03, 0x46, 0xfc, 0x66, 0x0f, 0xa4, 0xc2, 0x10, | ||||||
|  |   0xfb, 0xbb, 0x00, 0x07, 0x53, 0xb9, 0x04, 0x00, 0xe8, 0x52, 0xfc, 0x5b, | ||||||
|  |   0x0f, 0x82, 0x3d, 0xfc, 0x81, 0x3f, 0x4d, 0x5a, 0x75, 0x08, 0x81, 0xbf, | ||||||
|  |   0x00, 0x02, 0x42, 0x4a, 0x74, 0x06, 0xbe, 0x80, 0x7d, 0xe9, 0x0e, 0xfc, | ||||||
|  |   0xea, 0x00, 0x02, 0x70, 0x00, 0x03, 0xc0, 0x13, 0xd2, 0x03, 0xc0, 0x13, | ||||||
|  |   0xd2, 0xe8, 0x18, 0x00, 0xfa, 0x26, 0x66, 0x8b, 0x01, 0x66, 0x25, 0xff, | ||||||
|  |   0xff, 0xff, 0x0f, 0x66, 0x0f, 0xa4, 0xc2, 0x10, 0x66, 0x3d, 0xf8, 0xff, | ||||||
|  |   0xff, 0x0f, 0xfb, 0xc3, 0xbf, 0x00, 0x7e, 0xfa, 0x66, 0xc1, 0xe0, 0x10, | ||||||
|  |   0x66, 0x0f, 0xac, 0xd0, 0x10, 0x66, 0x0f, 0xb7, 0x4e, 0x0b, 0x66, 0x33, | ||||||
|  |   0xd2, 0x66, 0xf7, 0xf1, 0x66, 0x3b, 0x46, 0xf8, 0x74, 0x44, 0x66, 0x89, | ||||||
|  |   0x46, 0xf8, 0x66, 0x03, 0x46, 0x1c, 0x66, 0x0f, 0xb7, 0x4e, 0x0e, 0x66, | ||||||
|  |   0x03, 0xc1, 0x66, 0x0f, 0xb7, 0x5e, 0x28, 0x83, 0xe3, 0x0f, 0x74, 0x16, | ||||||
|  |   0x3a, 0x5e, 0x10, 0x0f, 0x83, 0xa4, 0xfb, 0x52, 0x66, 0x8b, 0xc8, 0x66, | ||||||
|  |   0x8b, 0x46, 0x24, 0x66, 0xf7, 0xe3, 0x66, 0x03, 0xc1, 0x5a, 0x52, 0x66, | ||||||
|  |   0x0f, 0xa4, 0xc2, 0x10, 0xfb, 0x8b, 0xdf, 0xb9, 0x01, 0x00, 0xe8, 0xb4, | ||||||
|  |   0xfb, 0x5a, 0x0f, 0x82, 0x9f, 0xfb, 0xfb, 0x8b, 0xda, 0xc3, 0x00, 0x00, | ||||||
|  |   0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | ||||||
|  |   0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | ||||||
|  |   0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | ||||||
|  |   0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | ||||||
|  |   0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | ||||||
|  |   0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | ||||||
|  |   0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | ||||||
|  |   0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | ||||||
|  |   0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | ||||||
|  |   0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x55, 0xaa | ||||||
|  | }; | ||||||
							
								
								
									
										80
									
								
								inc/br_fat32nt_0x52.h
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										80
									
								
								inc/br_fat32nt_0x52.h
									
										
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,80 @@ | ||||||
|  | unsigned char br_fat32nt_0x52[] = { | ||||||
|  |                                                               0x46, 0x41, | ||||||
|  |   0x54, 0x33, 0x32, 0x20, 0x20, 0x20, 0x33, 0xc9, 0x8e, 0xd1, 0xbc, 0xf4, | ||||||
|  |   0x7b, 0x8e, 0xc1, 0x8e, 0xd9, 0xbd, 0x00, 0x7c, 0x88, 0x4e, 0x02, 0x8a, | ||||||
|  |   0x56, 0x40, 0xb4, 0x08, 0xcd, 0x13, 0x73, 0x05, 0xb9, 0xff, 0xff, 0x8a, | ||||||
|  |   0xf1, 0x66, 0x0f, 0xb6, 0xc6, 0x40, 0x66, 0x0f, 0xb6, 0xd1, 0x80, 0xe2, | ||||||
|  |   0x3f, 0xf7, 0xe2, 0x86, 0xcd, 0xc0, 0xed, 0x06, 0x41, 0x66, 0x0f, 0xb7, | ||||||
|  |   0xc9, 0x66, 0xf7, 0xe1, 0x66, 0x89, 0x46, 0xf8, 0x83, 0x7e, 0x16, 0x00, | ||||||
|  |   0x75, 0x38, 0x83, 0x7e, 0x2a, 0x00, 0x77, 0x32, 0x66, 0x8b, 0x46, 0x1c, | ||||||
|  |   0x66, 0x83, 0xc0, 0x0c, 0xbb, 0x00, 0x80, 0xb9, 0x01, 0x00, 0xe8, 0x2b, | ||||||
|  |   0x00, 0xe9, 0x48, 0x03, 0xa0, 0xfa, 0x7d, 0xb4, 0x7d, 0x8b, 0xf0, 0xac, | ||||||
|  |   0x84, 0xc0, 0x74, 0x17, 0x3c, 0xff, 0x74, 0x09, 0xb4, 0x0e, 0xbb, 0x07, | ||||||
|  |   0x00, 0xcd, 0x10, 0xeb, 0xee, 0xa0, 0xfb, 0x7d, 0xeb, 0xe5, 0xa0, 0xf9, | ||||||
|  |   0x7d, 0xeb, 0xe0, 0x98, 0xcd, 0x16, 0xcd, 0x19, 0x66, 0x60, 0x66, 0x3b, | ||||||
|  |   0x46, 0xf8, 0x0f, 0x82, 0x4a, 0x00, 0x66, 0x6a, 0x00, 0x66, 0x50, 0x06, | ||||||
|  |   0x53, 0x66, 0x68, 0x10, 0x00, 0x01, 0x00, 0x80, 0x7e, 0x02, 0x00, 0x0f, | ||||||
|  |   0x85, 0x20, 0x00, 0xb4, 0x41, 0xbb, 0xaa, 0x55, 0x8a, 0x56, 0x40, 0xcd, | ||||||
|  |   0x13, 0x0f, 0x82, 0x1c, 0x00, 0x81, 0xfb, 0x55, 0xaa, 0x0f, 0x85, 0x14, | ||||||
|  |   0x00, 0xf6, 0xc1, 0x01, 0x0f, 0x84, 0x0d, 0x00, 0xfe, 0x46, 0x02, 0xb4, | ||||||
|  |   0x42, 0x8a, 0x56, 0x40, 0x8b, 0xf4, 0xcd, 0x13, 0xb0, 0xf9, 0x66, 0x58, | ||||||
|  |   0x66, 0x58, 0x66, 0x58, 0x66, 0x58, 0xeb, 0x2a, 0x66, 0x33, 0xd2, 0x66, | ||||||
|  |   0x0f, 0xb7, 0x4e, 0x18, 0x66, 0xf7, 0xf1, 0xfe, 0xc2, 0x8a, 0xca, 0x66, | ||||||
|  |   0x8b, 0xd0, 0x66, 0xc1, 0xea, 0x10, 0xf7, 0x76, 0x1a, 0x86, 0xd6, 0x8a, | ||||||
|  |   0x56, 0x40, 0x8a, 0xe8, 0xc0, 0xe4, 0x06, 0x0a, 0xcc, 0xb8, 0x01, 0x02, | ||||||
|  |   0xcd, 0x13, 0x66, 0x61, 0x0f, 0x82, 0x54, 0xff, 0x81, 0xc3, 0x00, 0x02, | ||||||
|  |   0x66, 0x40, 0x49, 0x0f, 0x85, 0x71, 0xff, 0xc3, 0x4e, 0x54, 0x4c, 0x44, | ||||||
|  |   0x52, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, | ||||||
|  |   0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | ||||||
|  |   0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | ||||||
|  |   0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | ||||||
|  |   0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0d, 0x0a, 0x4e, 0x54, | ||||||
|  |   0x4c, 0x44, 0x52, 0x20, 0x69, 0x73, 0x20, 0x6d, 0x69, 0x73, 0x73, 0x69, | ||||||
|  |   0x6e, 0x67, 0xff, 0x0d, 0x0a, 0x44, 0x69, 0x73, 0x6b, 0x20, 0x65, 0x72, | ||||||
|  |   0x72, 0x6f, 0x72, 0xff, 0x0d, 0x0a, 0x50, 0x72, 0x65, 0x73, 0x73, 0x20, | ||||||
|  |   0x61, 0x6e, 0x79, 0x20, 0x6b, 0x65, 0x79, 0x20, 0x74, 0x6f, 0x20, 0x72, | ||||||
|  |   0x65, 0x73, 0x74, 0x61, 0x72, 0x74, 0x0d, 0x0a, 0x00, 0x00, 0x00, 0x00, | ||||||
|  |   0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | ||||||
|  |   0x00, 0xac, 0xbf, 0xcc, 0x00, 0x00, 0x55, 0xaa, 0x52, 0x52, 0x61, 0x41, | ||||||
|  |   0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | ||||||
|  |   0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | ||||||
|  |   0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | ||||||
|  |   0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | ||||||
|  |   0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | ||||||
|  |   0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | ||||||
|  |   0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | ||||||
|  |   0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | ||||||
|  |   0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | ||||||
|  |   0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | ||||||
|  |   0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | ||||||
|  |   0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | ||||||
|  |   0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | ||||||
|  |   0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | ||||||
|  |   0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | ||||||
|  |   0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | ||||||
|  |   0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | ||||||
|  |   0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | ||||||
|  |   0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | ||||||
|  |   0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | ||||||
|  |   0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | ||||||
|  |   0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | ||||||
|  |   0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | ||||||
|  |   0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | ||||||
|  |   0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | ||||||
|  |   0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | ||||||
|  |   0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | ||||||
|  |   0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | ||||||
|  |   0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | ||||||
|  |   0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | ||||||
|  |   0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | ||||||
|  |   0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | ||||||
|  |   0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | ||||||
|  |   0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | ||||||
|  |   0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | ||||||
|  |   0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | ||||||
|  |   0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | ||||||
|  |   0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | ||||||
|  |   0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | ||||||
|  |   0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | ||||||
|  |   0x72, 0x72, 0x41, 0x61 | ||||||
|  | }; | ||||||
							
								
								
									
										18
									
								
								inc/fat12.h
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										18
									
								
								inc/fat12.h
									
										
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,18 @@ | ||||||
|  | #ifndef FAT12_H | ||||||
|  | #define FAT12_H | ||||||
|  | 
 | ||||||
|  | /* returns TRUE if the file has a FAT12 file system, otherwise FALSE.
 | ||||||
|  |    The file position will change when this function is called! */ | ||||||
|  | int is_fat_12_fs(FILE *fp); | ||||||
|  | 
 | ||||||
|  | /* returns TRUE if the file has an exact match ot the FAT12 boot record this
 | ||||||
|  |    program would create, otherwise FALSE. | ||||||
|  |    The file position will change when this function is called! */ | ||||||
|  | int entire_fat_12_br_matches(FILE *fp); | ||||||
|  | 
 | ||||||
|  | /* Writes a FAT12 boot record to a file, returns TRUE on success, otherwise
 | ||||||
|  |    FALSE */ | ||||||
|  | int write_fat_12_br(FILE *fp, int bKeepLabel); | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | #endif | ||||||
							
								
								
									
										23
									
								
								inc/fat16.h
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										23
									
								
								inc/fat16.h
									
										
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,23 @@ | ||||||
|  | #ifndef FAT16_H | ||||||
|  | #define FAT16_H | ||||||
|  | 
 | ||||||
|  | #include <stdio.h> | ||||||
|  | 
 | ||||||
|  | /* returns TRUE if the file has a FAT16 file system, otherwise FALSE.
 | ||||||
|  |    The file position will change when this function is called! */ | ||||||
|  | int is_fat_16_fs(FILE *fp); | ||||||
|  | 
 | ||||||
|  | /* returns TRUE if the file has a FAT16 boot record, otherwise FALSE.
 | ||||||
|  |    The file position will change when this function is called! */ | ||||||
|  | int is_fat_16_br(FILE *fp); | ||||||
|  | 
 | ||||||
|  | /* returns TRUE if the file has an exact match ot the FAT16 boot record this
 | ||||||
|  |    program would create, otherwise FALSE. | ||||||
|  |    The file position will change when this function is called! */ | ||||||
|  | int entire_fat_16_br_matches(FILE *fp); | ||||||
|  | 
 | ||||||
|  | /* Writes a FAT16 boot record to a file, returns TRUE on success, otherwise
 | ||||||
|  |    FALSE */ | ||||||
|  | int write_fat_16_br(FILE *fp, int bKeepLabel); | ||||||
|  | 
 | ||||||
|  | #endif | ||||||
							
								
								
									
										15
									
								
								inc/fat16fd.h
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										15
									
								
								inc/fat16fd.h
									
										
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,15 @@ | ||||||
|  | #ifndef FAT16FD_H | ||||||
|  | #define FAT16FD_H | ||||||
|  | 
 | ||||||
|  | #include <stdio.h> | ||||||
|  | 
 | ||||||
|  | /* returns TRUE if the file has an exact match ot the FAT16 boot record this
 | ||||||
|  |    program would create for FreeDOS, otherwise FALSE. | ||||||
|  |    The file position will change when this function is called! */ | ||||||
|  | int entire_fat_16_fd_br_matches(FILE *fp); | ||||||
|  | 
 | ||||||
|  | /* Writes a FAT16 FreeDOS boot record to a file, returns TRUE on success,
 | ||||||
|  |    otherwise FALSE */ | ||||||
|  | int write_fat_16_fd_br(FILE *fp, int bKeepLabel); | ||||||
|  | 
 | ||||||
|  | #endif | ||||||
							
								
								
									
										23
									
								
								inc/fat32.h
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										23
									
								
								inc/fat32.h
									
										
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,23 @@ | ||||||
|  | #ifndef FAT32_H | ||||||
|  | #define FAT32_H | ||||||
|  | 
 | ||||||
|  | #include <stdio.h> | ||||||
|  | 
 | ||||||
|  | /* returns TRUE if the file has a FAT32 file system, otherwise FALSE.
 | ||||||
|  |    The file position will change when this function is called! */ | ||||||
|  | int is_fat_32_fs(FILE *fp); | ||||||
|  | 
 | ||||||
|  | /* returns TRUE if the file has a FAT32 DOS boot record, otherwise FALSE.
 | ||||||
|  |    The file position will change when this function is called! */ | ||||||
|  | int is_fat_32_br(FILE *fp); | ||||||
|  | 
 | ||||||
|  | /* returns TRUE if the file has an exact match of the FAT32 DOS boot record
 | ||||||
|  |    this program would create, otherwise FALSE. | ||||||
|  |    The file position will change when this function is called! */ | ||||||
|  | int entire_fat_32_br_matches(FILE *fp); | ||||||
|  | 
 | ||||||
|  | /* Writes a FAT32 DOS boot record to a file, returns TRUE on success, otherwise
 | ||||||
|  |    FALSE */ | ||||||
|  | int write_fat_32_br(FILE *fp, int bKeepLabel); | ||||||
|  | 
 | ||||||
|  | #endif | ||||||
							
								
								
									
										15
									
								
								inc/fat32fd.h
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										15
									
								
								inc/fat32fd.h
									
										
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,15 @@ | ||||||
|  | #ifndef FAT32FD_H | ||||||
|  | #define FAT32FD_H | ||||||
|  | 
 | ||||||
|  | #include <stdio.h> | ||||||
|  | 
 | ||||||
|  | /* returns TRUE if the file has an exact match ot the FAT32 boot record this
 | ||||||
|  |    program would create for FreeDOS, otherwise FALSE. | ||||||
|  |    The file position will change when this function is called! */ | ||||||
|  | int entire_fat_32_fd_br_matches(FILE *fp); | ||||||
|  | 
 | ||||||
|  | /* Writes a FAT32 FreeDOS boot record to a file, returns TRUE on success,
 | ||||||
|  |    otherwise FALSE */ | ||||||
|  | int write_fat_32_fd_br(FILE *fp, int bKeepLabel); | ||||||
|  | 
 | ||||||
|  | #endif | ||||||
							
								
								
									
										15
									
								
								inc/fat32nt.h
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										15
									
								
								inc/fat32nt.h
									
										
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,15 @@ | ||||||
|  | #ifndef FAT32NT_H | ||||||
|  | #define FAT32NT_H | ||||||
|  | 
 | ||||||
|  | #include <stdio.h> | ||||||
|  | 
 | ||||||
|  | /* returns TRUE if the file has an exact match ot the FAT32 boot record this
 | ||||||
|  |    program would create for NT, otherwise FALSE. | ||||||
|  |    The file position will change when this function is called! */ | ||||||
|  | int entire_fat_32_nt_br_matches(FILE *fp); | ||||||
|  | 
 | ||||||
|  | /* Writes a FAT32 NT boot record to a file, returns TRUE on success, otherwise
 | ||||||
|  |    FALSE */ | ||||||
|  | int write_fat_32_nt_br(FILE *fp, int bKeepLabel); | ||||||
|  | 
 | ||||||
|  | #endif | ||||||
							
								
								
									
										27
									
								
								inc/file.h
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										27
									
								
								inc/file.h
									
										
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,27 @@ | ||||||
|  | #ifndef FILE_H | ||||||
|  | #define FILE_H | ||||||
|  | 
 | ||||||
|  | /* Max valid value of uiLen for contains_data */ | ||||||
|  | #define MAX_DATA_LEN 4096 | ||||||
|  | 
 | ||||||
|  | /* Checks if a file contains a data pattern of length uiLen at position
 | ||||||
|  |    ulPositoin. The file pointer will change when calling this function! */ | ||||||
|  | int contains_data(FILE *fp, unsigned long ulPosition, | ||||||
|  |                   const void *pData, unsigned int uiLen); | ||||||
|  | 
 | ||||||
|  | /* Writes a data pattern of length uiLen at position ulPositoin.
 | ||||||
|  |    The file pointer will change when calling this function! */ | ||||||
|  | int write_data(FILE *fp, unsigned long ulPosition, | ||||||
|  |                const void *pData, unsigned int uiLen); | ||||||
|  | 
 | ||||||
|  | /* Checks if a file contains a data pattern of length uiLen at position
 | ||||||
|  |    ulPositoin. The file pointer will change when calling this function! */ | ||||||
|  | int write_sectors(void *hDrive, size_t SectorSize, | ||||||
|  |                   size_t StartSector, size_t nSectors, | ||||||
|  |                   const void *pBuf, size_t BufSize); | ||||||
|  | 
 | ||||||
|  | int read_sectors(void *hDrive, size_t SectorSize, | ||||||
|  |                  size_t StartSector, size_t nSectors, | ||||||
|  |                  void *pBuf, size_t BufSize); | ||||||
|  | 
 | ||||||
|  | #endif | ||||||
							
								
								
									
										1
									
								
								inc/label_11_char.h
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										1
									
								
								inc/label_11_char.h
									
										
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1 @@ | ||||||
|  | unsigned char label_11_char[] = {'N','O',' ','N','A','M','E',' ',' ',' ',' '}; | ||||||
							
								
								
									
										50
									
								
								inc/mbr_2000.h
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										50
									
								
								inc/mbr_2000.h
									
										
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,50 @@ | ||||||
|  | /* First 446 bytes of MBR from Windows 2000, XP and 2003 */ | ||||||
|  | /* This is English version. Bytes 0x12c onwards vary with language. */ | ||||||
|  | /* Last two bytes 1b6 and 1b7 point to language-specific messages.  */ | ||||||
|  | /* Support of other languages is an exercise for the reader!        */ | ||||||
|  | unsigned char mbr_2000_0x0[] = { | ||||||
|  |   0x33, 0xc0, 0x8e, 0xd0, 0xbc, 0x00, 0x7c, 0xfb, 0x50, 0x07, 0x50, 0x1f, | ||||||
|  |   0xfc, 0xbe, 0x1b, 0x7c, 0xbf, 0x1b, 0x06, 0x50, 0x57, 0xb9, 0xe5, 0x01, | ||||||
|  |   0xf3, 0xa4, 0xcb, 0xbd, 0xbe, 0x07, 0xb1, 0x04, 0x38, 0x6e, 0x00, 0x7c, | ||||||
|  |   0x09, 0x75, 0x13, 0x83, 0xc5, 0x10, 0xe2, 0xf4, 0xcd, 0x18, 0x8b, 0xf5, | ||||||
|  |   0x83, 0xc6, 0x10, 0x49, 0x74, 0x19, 0x38, 0x2c, 0x74, 0xf6, 0xa0, 0xb5, | ||||||
|  |   0x07, 0xb4, 0x07, 0x8b, 0xf0, 0xac, 0x3c, 0x00, 0x74, 0xfc, 0xbb, 0x07, | ||||||
|  |   0x00, 0xb4, 0x0e, 0xcd, 0x10, 0xeb, 0xf2, 0x88, 0x4e, 0x10, 0xe8, 0x46, | ||||||
|  |   0x00, 0x73, 0x2a, 0xfe, 0x46, 0x10, 0x80, 0x7e, 0x04, 0x0b, 0x74, 0x0b, | ||||||
|  |   0x80, 0x7e, 0x04, 0x0c, 0x74, 0x05, 0xa0, 0xb6, 0x07, 0x75, 0xd2, 0x80, | ||||||
|  |   0x46, 0x02, 0x06, 0x83, 0x46, 0x08, 0x06, 0x83, 0x56, 0x0a, 0x00, 0xe8, | ||||||
|  |   0x21, 0x00, 0x73, 0x05, 0xa0, 0xb6, 0x07, 0xeb, 0xbc, 0x81, 0x3e, 0xfe, | ||||||
|  |   0x7d, 0x55, 0xaa, 0x74, 0x0b, 0x80, 0x7e, 0x10, 0x00, 0x74, 0xc8, 0xa0, | ||||||
|  |   0xb7, 0x07, 0xeb, 0xa9, 0x8b, 0xfc, 0x1e, 0x57, 0x8b, 0xf5, 0xcb, 0xbf, | ||||||
|  |   0x05, 0x00, 0x8a, 0x56, 0x00, 0xb4, 0x08, 0xcd, 0x13, 0x72, 0x23, 0x8a, | ||||||
|  |   0xc1, 0x24, 0x3f, 0x98, 0x8a, 0xde, 0x8a, 0xfc, 0x43, 0xf7, 0xe3, 0x8b, | ||||||
|  |   0xd1, 0x86, 0xd6, 0xb1, 0x06, 0xd2, 0xee, 0x42, 0xf7, 0xe2, 0x39, 0x56, | ||||||
|  |   0x0a, 0x77, 0x23, 0x72, 0x05, 0x39, 0x46, 0x08, 0x73, 0x1c, 0xb8, 0x01, | ||||||
|  |   0x02, 0xbb, 0x00, 0x7c, 0x8b, 0x4e, 0x02, 0x8b, 0x56, 0x00, 0xcd, 0x13, | ||||||
|  |   0x73, 0x51, 0x4f, 0x74, 0x4e, 0x32, 0xe4, 0x8a, 0x56, 0x00, 0xcd, 0x13, | ||||||
|  |   0xeb, 0xe4, 0x8a, 0x56, 0x00, 0x60, 0xbb, 0xaa, 0x55, 0xb4, 0x41, 0xcd, | ||||||
|  |   0x13, 0x72, 0x36, 0x81, 0xfb, 0x55, 0xaa, 0x75, 0x30, 0xf6, 0xc1, 0x01, | ||||||
|  |   0x74, 0x2b, 0x61, 0x60, 0x6a, 0x00, 0x6a, 0x00, 0xff, 0x76, 0x0a, 0xff, | ||||||
|  |   0x76, 0x08, 0x6a, 0x00, 0x68, 0x00, 0x7c, 0x6a, 0x01, 0x6a, 0x10, 0xb4, | ||||||
|  |   0x42, 0x8b, 0xf4, 0xcd, 0x13, 0x61, 0x61, 0x73, 0x0e, 0x4f, 0x74, 0x0b, | ||||||
|  |   0x32, 0xe4, 0x8a, 0x56, 0x00, 0xcd, 0x13, 0xeb, 0xd6, 0x61, 0xf9, 0xc3, | ||||||
|  |   0x49, 0x6e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x20, 0x70, 0x61, 0x72, 0x74, | ||||||
|  |   0x69, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x00, | ||||||
|  |   0x45, 0x72, 0x72, 0x6f, 0x72, 0x20, 0x6c, 0x6f, 0x61, 0x64, 0x69, 0x6e, | ||||||
|  |   0x67, 0x20, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x20, | ||||||
|  |   0x73, 0x79, 0x73, 0x74, 0x65, 0x6d, 0x00, 0x4d, 0x69, 0x73, 0x73, 0x69, | ||||||
|  |   0x6e, 0x67, 0x20, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6e, 0x67, | ||||||
|  |   0x20, 0x73, 0x79, 0x73, 0x74, 0x65, 0x6d, 0x00, 0x00, 0x00, 0x00, 0x00, | ||||||
|  |   0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | ||||||
|  |   0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | ||||||
|  |   0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | ||||||
|  |   0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | ||||||
|  |   0x00, 0x00, 0x00, 0x00, 0x00, 0x2c, 0x44, 0x63 | ||||||
|  | }; | ||||||
|  | /* Next four bytes used for Windows Disk Signature / Drive serial number */ | ||||||
|  | /*
 | ||||||
|  | unsigned char mbr_2000_0x1b8[] = { | ||||||
|  |                                                   0x00, 0x00, 0x00, 0x00, | ||||||
|  |   0x00, 0x00 | ||||||
|  | }; | ||||||
|  | */ | ||||||
							
								
								
									
										56
									
								
								inc/mbr_95b.h
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										56
									
								
								inc/mbr_95b.h
									
										
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,56 @@ | ||||||
|  | /* First 446 bytes of MBR from Windows 95B, 98, 98SE and ME */ | ||||||
|  | unsigned char mbr_95b_0x0[] = { | ||||||
|  |   0x33, 0xc0, 0x8e, 0xd0, 0xbc, 0x00, 0x7c, 0xfb, 0x50, 0x07, 0x50, 0x1f, | ||||||
|  |   0xfc, 0xbe, 0x1b, 0x7c, 0xbf, 0x1b, 0x06, 0x50, 0x57, 0xb9, 0xe5, 0x01, | ||||||
|  |   0xf3, 0xa4, 0xcb, 0xbe, 0xbe, 0x07, 0xb1, 0x04, 0x38, 0x2c, 0x7c, 0x09, | ||||||
|  |   0x75, 0x15, 0x83, 0xc6, 0x10, 0xe2, 0xf5, 0xcd, 0x18, 0x8b, 0x14, 0x8b, | ||||||
|  |   0xee, 0x83, 0xc6, 0x10, 0x49, 0x74, 0x16, 0x38, 0x2c, 0x74, 0xf6, 0xbe, | ||||||
|  |   0x10, 0x07, 0x4e, 0xac, 0x3c, 0x00, 0x74, 0xfa, 0xbb, 0x07, 0x00, 0xb4, | ||||||
|  |   0x0e, 0xcd, 0x10, 0xeb, 0xf2, 0x89, 0x46, 0x25, 0x96, 0x8a, 0x46, 0x04, | ||||||
|  |   0xb4, 0x06, 0x3c, 0x0e, 0x74, 0x11, 0xb4, 0x0b, 0x3c, 0x0c, 0x74, 0x05, | ||||||
|  |   0x3a, 0xc4, 0x75, 0x2b, 0x40, 0xc6, 0x46, 0x25, 0x06, 0x75, 0x24, 0xbb, | ||||||
|  |   0xaa, 0x55, 0x50, 0xb4, 0x41, 0xcd, 0x13, 0x58, 0x72, 0x16, 0x81, 0xfb, | ||||||
|  |   0x55, 0xaa, 0x75, 0x10, 0xf6, 0xc1, 0x01, 0x74, 0x0b, 0x8a, 0xe0, 0x88, | ||||||
|  |   0x56, 0x24, 0xc7, 0x06, 0xa1, 0x06, 0xeb, 0x1e, 0x88, 0x66, 0x04, 0xbf, | ||||||
|  |   0x0a, 0x00, 0xb8, 0x01, 0x02, 0x8b, 0xdc, 0x33, 0xc9, 0x83, 0xff, 0x05, | ||||||
|  |   0x7f, 0x03, 0x8b, 0x4e, 0x25, 0x03, 0x4e, 0x02, 0xcd, 0x13, 0x72, 0x29, | ||||||
|  |   0xbe, 0x46, 0x07, 0x81, 0x3e, 0xfe, 0x7d, 0x55, 0xaa, 0x74, 0x5a, 0x83, | ||||||
|  |   0xef, 0x05, 0x7f, 0xda, 0x85, 0xf6, 0x75, 0x83, 0xbe, 0x27, 0x07, 0xeb, | ||||||
|  |   0x8a, 0x98, 0x91, 0x52, 0x99, 0x03, 0x46, 0x08, 0x13, 0x56, 0x0a, 0xe8, | ||||||
|  |   0x12, 0x00, 0x5a, 0xeb, 0xd5, 0x4f, 0x74, 0xe4, 0x33, 0xc0, 0xcd, 0x13, | ||||||
|  |   0xeb, 0xb8 | ||||||
|  | }; | ||||||
|  | /* Next 6 bytes used to write boot drive and time by some Windows OSs */ | ||||||
|  | /*
 | ||||||
|  | unsigned char mbr_95b_0x0da[] = { | ||||||
|  |               0x00, 0x00, 0x00, 0x00, 0x00, 0x00 | ||||||
|  | }; | ||||||
|  | */ | ||||||
|  | unsigned char mbr_95b_0x0e0[] = { | ||||||
|  |                                                   0x56, 0x33, 0xf6, 0x56, | ||||||
|  |   0x56, 0x52, 0x50, 0x06, 0x53, 0x51, 0xbe, 0x10, 0x00, 0x56, 0x8b, 0xf4, | ||||||
|  |   0x50, 0x52, 0xb8, 0x00, 0x42, 0x8a, 0x56, 0x24, 0xcd, 0x13, 0x5a, 0x58, | ||||||
|  |   0x8d, 0x64, 0x10, 0x72, 0x0a, 0x40, 0x75, 0x01, 0x42, 0x80, 0xc7, 0x02, | ||||||
|  |   0xe2, 0xf7, 0xf8, 0x5e, 0xc3, 0xeb, 0x74, 0x49, 0x6e, 0x76, 0x61, 0x6c, | ||||||
|  |   0x69, 0x64, 0x20, 0x70, 0x61, 0x72, 0x74, 0x69, 0x74, 0x69, 0x6f, 0x6e, | ||||||
|  |   0x20, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x00, 0x45, 0x72, 0x72, 0x6f, 0x72, | ||||||
|  |   0x20, 0x6c, 0x6f, 0x61, 0x64, 0x69, 0x6e, 0x67, 0x20, 0x6f, 0x70, 0x65, | ||||||
|  |   0x72, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x20, 0x73, 0x79, 0x73, 0x74, 0x65, | ||||||
|  |   0x6d, 0x00, 0x4d, 0x69, 0x73, 0x73, 0x69, 0x6e, 0x67, 0x20, 0x6f, 0x70, | ||||||
|  |   0x65, 0x72, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x20, 0x73, 0x79, 0x73, 0x74, | ||||||
|  |   0x65, 0x6d, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | ||||||
|  |   0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | ||||||
|  |   0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | ||||||
|  |   0x00, 0x00, 0x00, 0x8b, 0xfc, 0x1e, 0x57, 0x8b, 0xf5, 0xcb, 0x00, 0x00, | ||||||
|  |   0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | ||||||
|  |   0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | ||||||
|  |   0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | ||||||
|  |   0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 | ||||||
|  | }; | ||||||
|  | /* Next four bytes used for Windows Disk Signature / Drive serial number */ | ||||||
|  | /*
 | ||||||
|  | unsigned char mbr_95b_0x1b8[] = { | ||||||
|  |                                                   0x00, 0x00, 0x00, 0x00, | ||||||
|  |   0x00, 0x00 | ||||||
|  | }; | ||||||
|  | */ | ||||||
							
								
								
									
										47
									
								
								inc/mbr_dos.h
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										47
									
								
								inc/mbr_dos.h
									
										
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,47 @@ | ||||||
|  | /* First 446 bytes of MBR from Dos 3.3 onwards and Windows 95A */ | ||||||
|  | unsigned char mbr_dos_0x0[] = { | ||||||
|  |   0xfa, 0x33, 0xc0, 0x8e, 0xd0, 0xbc, 0x00, 0x7c, 0x8b, 0xf4, 0x50, 0x07, | ||||||
|  |   0x50, 0x1f, 0xfb, 0xfc, 0xbf, 0x00, 0x06, 0xb9, 0x00, 0x01, 0xf3, 0xa5, | ||||||
|  |   0xea, 0x1d, 0x06, 0x00, 0x00, 0xbe, 0xbe, 0x07, 0xb3, 0x04, 0x80, 0x3c, | ||||||
|  |   0x80, 0x74, 0x0e, 0x80, 0x3c, 0x00, 0x75, 0x1c, 0x83, 0xc6, 0x10, 0xfe, | ||||||
|  |   0xcb, 0x75, 0xef, 0xcd, 0x18, 0x8b, 0x14, 0x8b, 0x4c, 0x02, 0x8b, 0xee, | ||||||
|  |   0x83, 0xc6, 0x10, 0xfe, 0xcb, 0x74, 0x1a, 0x80, 0x3c, 0x00, 0x74, 0xf4, | ||||||
|  |   0xbe, 0x8b, 0x06, 0xac, 0x3c, 0x00, 0x74, 0x0b, 0x56, 0xbb, 0x07, 0x00, | ||||||
|  |   0xb4, 0x0e, 0xcd, 0x10, 0x5e, 0xeb, 0xf0, 0xeb, 0xfe, 0xbf, 0x05, 0x00, | ||||||
|  |   0xbb, 0x00, 0x7c, 0xb8, 0x01, 0x02, 0x57, 0xcd, 0x13, 0x5f, 0x73, 0x0c, | ||||||
|  |   0x33, 0xc0, 0xcd, 0x13, 0x4f, 0x75, 0xed, 0xbe, 0xa3, 0x06, 0xeb, 0xd3, | ||||||
|  |   0xbe, 0xc2, 0x06, 0xbf, 0xfe, 0x7d, 0x81, 0x3d, 0x55, 0xaa, 0x75, 0xc7, | ||||||
|  |   0x8b, 0xf5, 0xea, 0x00, 0x7c, 0x00, 0x00, 0x49, 0x6e, 0x76, 0x61, 0x6c, | ||||||
|  |   0x69, 0x64, 0x20, 0x70, 0x61, 0x72, 0x74, 0x69, 0x74, 0x69, 0x6f, 0x6e, | ||||||
|  |   0x20, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x00, 0x45, 0x72, 0x72, 0x6f, 0x72, | ||||||
|  |   0x20, 0x6c, 0x6f, 0x61, 0x64, 0x69, 0x6e, 0x67, 0x20, 0x6f, 0x70, 0x65, | ||||||
|  |   0x72, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x20, 0x73, 0x79, 0x73, 0x74, 0x65, | ||||||
|  |   0x6d, 0x00, 0x4d, 0x69, 0x73, 0x73, 0x69, 0x6e, 0x67, 0x20, 0x6f, 0x70, | ||||||
|  |   0x65, 0x72, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x20, 0x73, 0x79, 0x73, 0x74, | ||||||
|  |   0x65, 0x6d, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | ||||||
|  |   0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | ||||||
|  |   0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | ||||||
|  |   0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | ||||||
|  |   0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | ||||||
|  |   0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | ||||||
|  |   0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | ||||||
|  |   0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | ||||||
|  |   0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | ||||||
|  |   0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | ||||||
|  |   0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | ||||||
|  |   0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | ||||||
|  |   0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | ||||||
|  |   0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | ||||||
|  |   0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | ||||||
|  |   0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | ||||||
|  |   0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | ||||||
|  |   0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | ||||||
|  |   0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 | ||||||
|  | }; | ||||||
|  | /* Next four bytes used for Windows Disk Signature / Drive serial number */ | ||||||
|  | /*
 | ||||||
|  | unsigned char mbr_dos_0x1b8[] = { | ||||||
|  |                                                   0x00, 0x00, 0x00, 0x00, | ||||||
|  |   0x00, 0x00 | ||||||
|  | }; | ||||||
|  | */ | ||||||
							
								
								
									
										40
									
								
								inc/mbr_dos_f2.h
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										40
									
								
								inc/mbr_dos_f2.h
									
										
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,40 @@ | ||||||
|  | /* First 446 bytes of MBR from Dos 3.3 onwards and Windows 95A */ | ||||||
|  | unsigned char mbr_dos_f2_0x0[] = { | ||||||
|  |   0xfa, 0x33, 0xc0, 0x8e, 0xd0, 0xbc, 0x00, 0x7c, 0x8b, 0xf4, 0x50, 0x07, | ||||||
|  |   0x50, 0x1f, 0xfb, 0xfc, 0xbf, 0x00, 0x06, 0xb9, 0x00, 0x01, 0xf2, 0xa5, | ||||||
|  |   0xea, 0x1d, 0x06, 0x00, 0x00, 0xbe, 0xbe, 0x07, 0xb3, 0x04, 0x80, 0x3c, | ||||||
|  |   0x80, 0x74, 0x0e, 0x80, 0x3c, 0x00, 0x75, 0x1c, 0x83, 0xc6, 0x10, 0xfe, | ||||||
|  |   0xcb, 0x75, 0xef, 0xcd, 0x18, 0x8b, 0x14, 0x8b, 0x4c, 0x02, 0x8b, 0xee, | ||||||
|  |   0x83, 0xc6, 0x10, 0xfe, 0xcb, 0x74, 0x1a, 0x80, 0x3c, 0x00, 0x74, 0xf4, | ||||||
|  |   0xbe, 0x8b, 0x06, 0xac, 0x3c, 0x00, 0x74, 0x0b, 0x56, 0xbb, 0x07, 0x00, | ||||||
|  |   0xb4, 0x0e, 0xcd, 0x10, 0x5e, 0xeb, 0xf0, 0xeb, 0xfe, 0xbf, 0x05, 0x00, | ||||||
|  |   0xbb, 0x00, 0x7c, 0xb8, 0x01, 0x02, 0x57, 0xcd, 0x13, 0x5f, 0x73, 0x0c, | ||||||
|  |   0x33, 0xc0, 0xcd, 0x13, 0x4f, 0x75, 0xed, 0xbe, 0xa3, 0x06, 0xeb, 0xd3, | ||||||
|  |   0xbe, 0xc2, 0x06, 0xbf, 0xfe, 0x7d, 0x81, 0x3d, 0x55, 0xaa, 0x75, 0xc7, | ||||||
|  |   0x8b, 0xf5, 0xea, 0x00, 0x7c, 0x00, 0x00, 0x49, 0x6e, 0x76, 0x61, 0x6c, | ||||||
|  |   0x69, 0x64, 0x20, 0x70, 0x61, 0x72, 0x74, 0x69, 0x74, 0x69, 0x6f, 0x6e, | ||||||
|  |   0x20, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x00, 0x45, 0x72, 0x72, 0x6f, 0x72, | ||||||
|  |   0x20, 0x6c, 0x6f, 0x61, 0x64, 0x69, 0x6e, 0x67, 0x20, 0x6f, 0x70, 0x65, | ||||||
|  |   0x72, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x20, 0x73, 0x79, 0x73, 0x74, 0x65, | ||||||
|  |   0x6d, 0x00, 0x4d, 0x69, 0x73, 0x73, 0x69, 0x6e, 0x67, 0x20, 0x6f, 0x70, | ||||||
|  |   0x65, 0x72, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x20, 0x73, 0x79, 0x73, 0x74, | ||||||
|  |   0x65, 0x6d, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | ||||||
|  |   0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | ||||||
|  |   0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | ||||||
|  |   0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | ||||||
|  |   0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | ||||||
|  |   0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | ||||||
|  |   0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | ||||||
|  |   0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | ||||||
|  |   0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | ||||||
|  |   0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | ||||||
|  |   0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | ||||||
|  |   0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | ||||||
|  |   0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | ||||||
|  |   0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | ||||||
|  |   0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | ||||||
|  |   0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | ||||||
|  |   0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | ||||||
|  |   0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | ||||||
|  |   0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 | ||||||
|  | }; | ||||||
							
								
								
									
										29
									
								
								inc/mbr_syslinux.h
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										29
									
								
								inc/mbr_syslinux.h
									
										
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,29 @@ | ||||||
|  | /* Public domain MBR by H. Peter Anvin supplied with Syslinux */ | ||||||
|  | /* This version from mbr.asm,v 1.6 2--2/10/03 10:02:50 */ | ||||||
|  | unsigned char mbr_syslinux_0x0[] = { | ||||||
|  |   0xfa, 0x31, 0xc0, 0x8e, 0xd8, 0x8e, 0xc0, 0x8e, 0xd0, 0xbc, 0x00, 0x7c, | ||||||
|  |   0xfb, 0xfc, 0x89, 0xe6, 0xbf, 0x00, 0x06, 0xb9, 0x00, 0x01, 0xf3, 0xa5, | ||||||
|  |   0xea, 0x1d, 0x06, 0x00, 0x00, 0x88, 0x16, 0x00, 0x08, 0xb4, 0x08, 0xcd, | ||||||
|  |   0x13, 0x31, 0xc0, 0x88, 0xf0, 0x40, 0xa3, 0xec, 0x06, 0x80, 0xe1, 0x3f, | ||||||
|  |   0x88, 0x0e, 0xee, 0x06, 0xbe, 0xbe, 0x07, 0x31, 0xc0, 0xb9, 0x04, 0x00, | ||||||
|  |   0xf6, 0x04, 0x80, 0x74, 0x03, 0x40, 0x89, 0xf7, 0x83, 0xc6, 0x10, 0xe2, | ||||||
|  |   0xf3, 0x83, 0xf8, 0x01, 0x75, 0x73, 0x8a, 0x16, 0x00, 0x08, 0xb8, 0x00, | ||||||
|  |   0x41, 0xbb, 0xaa, 0x55, 0x31, 0xc9, 0x30, 0xf6, 0xf9, 0xcd, 0x13, 0x72, | ||||||
|  |   0x23, 0x81, 0xfb, 0x55, 0xaa, 0x75, 0x1d, 0xf6, 0xc1, 0x01, 0x74, 0x18, | ||||||
|  |   0x57, 0xbe, 0xdc, 0x06, 0x8b, 0x5d, 0x08, 0x89, 0x5c, 0x08, 0x8b, 0x5d, | ||||||
|  |   0x0a, 0x89, 0x5c, 0x0a, 0x8a, 0x16, 0x00, 0x08, 0xb4, 0x42, 0xeb, 0x2a, | ||||||
|  |   0x57, 0x8b, 0x45, 0x08, 0x8b, 0x55, 0x0a, 0xf7, 0x36, 0xee, 0x06, 0x42, | ||||||
|  |   0x89, 0xd1, 0x31, 0xd2, 0xf7, 0x36, 0xec, 0x06, 0x88, 0xc5, 0xd1, 0xe8, | ||||||
|  |   0xd1, 0xe8, 0x24, 0xc0, 0x08, 0xc1, 0x88, 0xd6, 0x8a, 0x16, 0x00, 0x08, | ||||||
|  |   0xbb, 0x00, 0x7c, 0xb8, 0x01, 0x02, 0xcd, 0x13, 0x72, 0x16, 0x5e, 0x81, | ||||||
|  |   0x3e, 0xfe, 0x7d, 0x55, 0xaa, 0x75, 0x08, 0xfa, 0xea, 0x00, 0x7c, 0x00, | ||||||
|  |   0x00, 0x77, 0x05, 0xbe, 0xf0, 0x06, 0xeb, 0x03, 0xbe, 0x0b, 0x07, 0xac, | ||||||
|  |   0x30, 0xc0, 0x74, 0x09, 0xb4, 0x0e, 0xbb, 0x07, 0x00, 0xcd, 0x10, 0xeb, | ||||||
|  |   0xf2, 0xeb, 0xfe, 0x00, 0x10, 0x00, 0x01, 0x00, 0x00, 0x7c, 0x00, 0x00, | ||||||
|  |   0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | ||||||
|  |   0x4d, 0x69, 0x73, 0x73, 0x69, 0x6e, 0x67, 0x20, 0x6f, 0x70, 0x65, 0x72, | ||||||
|  |   0x61, 0x74, 0x69, 0x6e, 0x67, 0x20, 0x73, 0x79, 0x73, 0x74, 0x65, 0x6d, | ||||||
|  |   0x0d, 0x0a, 0x00, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6e, 0x67, | ||||||
|  |   0x20, 0x73, 0x79, 0x73, 0x74, 0x65, 0x6d, 0x20, 0x6c, 0x6f, 0x61, 0x64, | ||||||
|  |   0x69, 0x6e, 0x67, 0x20, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x0d, 0x0a, 0x00 | ||||||
|  | }; | ||||||
							
								
								
									
										50
									
								
								inc/mbr_vista.h
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										50
									
								
								inc/mbr_vista.h
									
										
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,50 @@ | ||||||
|  | /* First 446 bytes of MBR from Windows Vista */ | ||||||
|  | /* This is English version. Bytes 0x12c onwards vary with language. */ | ||||||
|  | /* Last two bytes 1b6 and 1b7 point to language-specific messages.  */ | ||||||
|  | /* Support of other languages is an exercise for the reader!        */ | ||||||
|  | unsigned char mbr_vista_0x0[] = { | ||||||
|  | 0x33, 0xc0, 0x8e, 0xd0, 0xbc, 0x00, 0x7c, 0x8e, 0xc0, 0x8e, 0xd8, 0xbe, | ||||||
|  | 0x00, 0x7c, 0xbf, 0x00, 0x06, 0xb9, 0x00, 0x02, 0xfc, 0xf3, 0xa4, 0x50, | ||||||
|  | 0x68, 0x1c, 0x06, 0xcb, 0xfb, 0xb9, 0x04, 0x00, 0xbd, 0xbe, 0x07, 0x80, | ||||||
|  | 0x7e, 0x00, 0x00, 0x7c, 0x0b, 0x0f, 0x85, 0x10, 0x01, 0x83, 0xc5, 0x10, | ||||||
|  | 0xe2, 0xf1, 0xcd, 0x18, 0x88, 0x56, 0x00, 0x55, 0xc6, 0x46, 0x11, 0x05, | ||||||
|  | 0xc6, 0x46, 0x10, 0x00, 0xb4, 0x41, 0xbb, 0xaa, 0x55, 0xcd, 0x13, 0x5d, | ||||||
|  | 0x72, 0x0f, 0x81, 0xfb, 0x55, 0xaa, 0x75, 0x09, 0xf7, 0xc1, 0x01, 0x00, | ||||||
|  | 0x74, 0x03, 0xfe, 0x46, 0x10, 0x66, 0x60, 0x80, 0x7e, 0x10, 0x00, 0x74, | ||||||
|  | 0x26, 0x66, 0x68, 0x00, 0x00, 0x00, 0x00, 0x66, 0xff, 0x76, 0x08, 0x68, | ||||||
|  | 0x00, 0x00, 0x68, 0x00, 0x7c, 0x68, 0x01, 0x00, 0x68, 0x10, 0x00, 0xb4, | ||||||
|  | 0x42, 0x8a, 0x56, 0x00, 0x8b, 0xf4, 0xcd, 0x13, 0x9f, 0x83, 0xc4, 0x10, | ||||||
|  | 0x9e, 0xeb, 0x14, 0xb8, 0x01, 0x02, 0xbb, 0x00, 0x7c, 0x8a, 0x56, 0x00, | ||||||
|  | 0x8a, 0x76, 0x01, 0x8a, 0x4e, 0x02, 0x8a, 0x6e, 0x03, 0xcd, 0x13, 0x66, | ||||||
|  | 0x61, 0x73, 0x1e, 0xfe, 0x4e, 0x11, 0x0f, 0x85, 0x0c, 0x00, 0x80, 0x7e, | ||||||
|  | 0x00, 0x80, 0x0f, 0x84, 0x8a, 0x00, 0xb2, 0x80, 0xeb, 0x82, 0x55, 0x32, | ||||||
|  | 0xe4, 0x8a, 0x56, 0x00, 0xcd, 0x13, 0x5d, 0xeb, 0x9c, 0x81, 0x3e, 0xfe, | ||||||
|  | 0x7d, 0x55, 0xaa, 0x75, 0x6e, 0xff, 0x76, 0x00, 0xe8, 0x8a, 0x00, 0x0f, | ||||||
|  | 0x85, 0x15, 0x00, 0xb0, 0xd1, 0xe6, 0x64, 0xe8, 0x7f, 0x00, 0xb0, 0xdf, | ||||||
|  | 0xe6, 0x60, 0xe8, 0x78, 0x00, 0xb0, 0xff, 0xe6, 0x64, 0xe8, 0x71, 0x00, | ||||||
|  | 0xb8, 0x00, 0xbb, 0xcd, 0x1a, 0x66, 0x23, 0xc0, 0x75, 0x3b, 0x66, 0x81, | ||||||
|  | 0xfb, 0x54, 0x43, 0x50, 0x41, 0x75, 0x32, 0x81, 0xf9, 0x02, 0x01, 0x72, | ||||||
|  | 0x2c, 0x66, 0x68, 0x07, 0xbb, 0x00, 0x00, 0x66, 0x68, 0x00, 0x02, 0x00, | ||||||
|  | 0x00, 0x66, 0x68, 0x08, 0x00, 0x00, 0x00, 0x66, 0x53, 0x66, 0x53, 0x66, | ||||||
|  | 0x55, 0x66, 0x68, 0x00, 0x00, 0x00, 0x00, 0x66, 0x68, 0x00, 0x7c, 0x00, | ||||||
|  | 0x00, 0x66, 0x61, 0x68, 0x00, 0x00, 0x07, 0xcd, 0x1a, 0x5a, 0x32, 0xf6, | ||||||
|  | 0xea, 0x00, 0x7c, 0x00, 0x00, 0xcd, 0x18, 0xa0, 0xb7, 0x07, 0xeb, 0x08, | ||||||
|  | 0xa0, 0xb6, 0x07, 0xeb, 0x03, 0xa0, 0xb5, 0x07, 0x32, 0xe4, 0x05, 0x00, | ||||||
|  | 0x07, 0x8b, 0xf0, 0xac, 0x3c, 0x00, 0x74, 0xfc, 0xbb, 0x07, 0x00, 0xb4, | ||||||
|  | 0x0e, 0xcd, 0x10, 0xeb, 0xf2, 0x2b, 0xc9, 0xe4, 0x64, 0xeb, 0x00, 0x24, | ||||||
|  | 0x02, 0xe0, 0xf8, 0x24, 0x02, 0xc3, 0x49, 0x6e, 0x76, 0x61, 0x6c, 0x69, | ||||||
|  | 0x64, 0x20, 0x70, 0x61, 0x72, 0x74, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x20, | ||||||
|  | 0x74, 0x61, 0x62, 0x6c, 0x65, 0x00, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x20, | ||||||
|  | 0x6c, 0x6f, 0x61, 0x64, 0x69, 0x6e, 0x67, 0x20, 0x6f, 0x70, 0x65, 0x72, | ||||||
|  | 0x61, 0x74, 0x69, 0x6e, 0x67, 0x20, 0x73, 0x79, 0x73, 0x74, 0x65, 0x6d, | ||||||
|  | 0x00, 0x4d, 0x69, 0x73, 0x73, 0x69, 0x6e, 0x67, 0x20, 0x6f, 0x70, 0x65, | ||||||
|  | 0x72, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x20, 0x73, 0x79, 0x73, 0x74, 0x65, | ||||||
|  | 0x6d, 0x00, 0x00, 0x00, 0x00, 0x62, 0x7a, 0x99 | ||||||
|  | }; | ||||||
|  | /* Next four bytes used for Windows Disk Signature / Drive serial number */ | ||||||
|  | /*
 | ||||||
|  | unsigned char mbr_vista_0x1b8[] = { | ||||||
|  |                                                   0x00, 0x00, 0x00, 0x00, | ||||||
|  |   0x00, 0x00 | ||||||
|  | }; | ||||||
|  | */ | ||||||
							
								
								
									
										50
									
								
								inc/mbr_win7.h
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										50
									
								
								inc/mbr_win7.h
									
										
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,50 @@ | ||||||
|  | /* First 446 bytes of MBR from Windows 7 */ | ||||||
|  | /* This is English version. Bytes 0x12c onwards vary with language. */ | ||||||
|  | /* Last two bytes 1b6 and 1b7 point to language-specific messages.  */ | ||||||
|  | /* Support of other languages is an exercise for the reader!        */ | ||||||
|  | unsigned char mbr_win7_0x0[] = { | ||||||
|  |   0x33, 0xc0, 0x8e, 0xd0, 0xbc, 0x00, 0x7c, 0x8e, 0xc0, 0x8e, 0xd8, 0xbe, | ||||||
|  |   0x00, 0x7c, 0xbf, 0x00, 0x06, 0xb9, 0x00, 0x02, 0xfc, 0xf3, 0xa4, 0x50, | ||||||
|  |   0x68, 0x1c, 0x06, 0xcb, 0xfb, 0xb9, 0x04, 0x00, 0xbd, 0xbe, 0x07, 0x80, | ||||||
|  |   0x7e, 0x00, 0x00, 0x7c, 0x0b, 0x0f, 0x85, 0x0e, 0x01, 0x83, 0xc5, 0x10, | ||||||
|  |   0xe2, 0xf1, 0xcd, 0x18, 0x88, 0x56, 0x00, 0x55, 0xc6, 0x46, 0x11, 0x05, | ||||||
|  |   0xc6, 0x46, 0x10, 0x00, 0xb4, 0x41, 0xbb, 0xaa, 0x55, 0xcd, 0x13, 0x5d, | ||||||
|  |   0x72, 0x0f, 0x81, 0xfb, 0x55, 0xaa, 0x75, 0x09, 0xf7, 0xc1, 0x01, 0x00, | ||||||
|  |   0x74, 0x03, 0xfe, 0x46, 0x10, 0x66, 0x60, 0x80, 0x7e, 0x10, 0x00, 0x74, | ||||||
|  |   0x26, 0x66, 0x68, 0x00, 0x00, 0x00, 0x00, 0x66, 0xff, 0x76, 0x08, 0x68, | ||||||
|  |   0x00, 0x00, 0x68, 0x00, 0x7c, 0x68, 0x01, 0x00, 0x68, 0x10, 0x00, 0xb4, | ||||||
|  |   0x42, 0x8a, 0x56, 0x00, 0x8b, 0xf4, 0xcd, 0x13, 0x9f, 0x83, 0xc4, 0x10, | ||||||
|  |   0x9e, 0xeb, 0x14, 0xb8, 0x01, 0x02, 0xbb, 0x00, 0x7c, 0x8a, 0x56, 0x00, | ||||||
|  |   0x8a, 0x76, 0x01, 0x8a, 0x4e, 0x02, 0x8a, 0x6e, 0x03, 0xcd, 0x13, 0x66, | ||||||
|  |   0x61, 0x73, 0x1c, 0xfe, 0x4e, 0x11, 0x75, 0x0c, 0x80, 0x7e, 0x00, 0x80, | ||||||
|  |   0x0f, 0x84, 0x8a, 0x00, 0xb2, 0x80, 0xeb, 0x84, 0x55, 0x32, 0xe4, 0x8a, | ||||||
|  |   0x56, 0x00, 0xcd, 0x13, 0x5d, 0xeb, 0x9e, 0x81, 0x3e, 0xfe, 0x7d, 0x55, | ||||||
|  |   0xaa, 0x75, 0x6e, 0xff, 0x76, 0x00, 0xe8, 0x8d, 0x00, 0x75, 0x17, 0xfa, | ||||||
|  |   0xb0, 0xd1, 0xe6, 0x64, 0xe8, 0x83, 0x00, 0xb0, 0xdf, 0xe6, 0x60, 0xe8, | ||||||
|  |   0x7c, 0x00, 0xb0, 0xff, 0xe6, 0x64, 0xe8, 0x75, 0x00, 0xfb, 0xb8, 0x00, | ||||||
|  |   0xbb, 0xcd, 0x1a, 0x66, 0x23, 0xc0, 0x75, 0x3b, 0x66, 0x81, 0xfb, 0x54, | ||||||
|  |   0x43, 0x50, 0x41, 0x75, 0x32, 0x81, 0xf9, 0x02, 0x01, 0x72, 0x2c, 0x66, | ||||||
|  |   0x68, 0x07, 0xbb, 0x00, 0x00, 0x66, 0x68, 0x00, 0x02, 0x00, 0x00, 0x66, | ||||||
|  |   0x68, 0x08, 0x00, 0x00, 0x00, 0x66, 0x53, 0x66, 0x53, 0x66, 0x55, 0x66, | ||||||
|  |   0x68, 0x00, 0x00, 0x00, 0x00, 0x66, 0x68, 0x00, 0x7c, 0x00, 0x00, 0x66, | ||||||
|  |   0x61, 0x68, 0x00, 0x00, 0x07, 0xcd, 0x1a, 0x5a, 0x32, 0xf6, 0xea, 0x00, | ||||||
|  |   0x7c, 0x00, 0x00, 0xcd, 0x18, 0xa0, 0xb7, 0x07, 0xeb, 0x08, 0xa0, 0xb6, | ||||||
|  |   0x07, 0xeb, 0x03, 0xa0, 0xb5, 0x07, 0x32, 0xe4, 0x05, 0x00, 0x07, 0x8b, | ||||||
|  |   0xf0, 0xac, 0x3c, 0x00, 0x74, 0x09, 0xbb, 0x07, 0x00, 0xb4, 0x0e, 0xcd, | ||||||
|  |   0x10, 0xeb, 0xf2, 0xf4, 0xeb, 0xfd, 0x2b, 0xc9, 0xe4, 0x64, 0xeb, 0x00, | ||||||
|  |   0x24, 0x02, 0xe0, 0xf8, 0x24, 0x02, 0xc3, 0x49, 0x6e, 0x76, 0x61, 0x6c, | ||||||
|  |   0x69, 0x64, 0x20, 0x70, 0x61, 0x72, 0x74, 0x69, 0x74, 0x69, 0x6f, 0x6e, | ||||||
|  |   0x20, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x00, 0x45, 0x72, 0x72, 0x6f, 0x72, | ||||||
|  |   0x20, 0x6c, 0x6f, 0x61, 0x64, 0x69, 0x6e, 0x67, 0x20, 0x6f, 0x70, 0x65, | ||||||
|  |   0x72, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x20, 0x73, 0x79, 0x73, 0x74, 0x65, | ||||||
|  |   0x6d, 0x00, 0x4d, 0x69, 0x73, 0x73, 0x69, 0x6e, 0x67, 0x20, 0x6f, 0x70, | ||||||
|  |   0x65, 0x72, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x20, 0x73, 0x79, 0x73, 0x74, | ||||||
|  |   0x65, 0x6d, 0x00, 0x00, 0x00, 0x63, 0x7b, 0x9a | ||||||
|  | }; | ||||||
|  | /* Next four bytes used for Windows Disk Signature / Drive serial number */ | ||||||
|  | /*
 | ||||||
|  | unsigned char mbr_win7_0x1b8[] = { | ||||||
|  |                                                   0x00, 0x00, 0x00, 0x00, | ||||||
|  |   0x00, 0x00 | ||||||
|  | }; | ||||||
|  | */ | ||||||
							
								
								
									
										41
									
								
								inc/mbr_zero.h
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										41
									
								
								inc/mbr_zero.h
									
										
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,41 @@ | ||||||
|  | /* First 446 bytes of a zeroed MBR*/ | ||||||
|  | unsigned char mbr_zero_0x0[] = { | ||||||
|  |   0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | ||||||
|  |   0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | ||||||
|  |   0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | ||||||
|  |   0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | ||||||
|  |   0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | ||||||
|  |   0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | ||||||
|  |   0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | ||||||
|  |   0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | ||||||
|  |   0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | ||||||
|  |   0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | ||||||
|  |   0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | ||||||
|  |   0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | ||||||
|  |   0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | ||||||
|  |   0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | ||||||
|  |   0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | ||||||
|  |   0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | ||||||
|  |   0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | ||||||
|  |   0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | ||||||
|  |   0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | ||||||
|  |   0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | ||||||
|  |   0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | ||||||
|  |   0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | ||||||
|  |   0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | ||||||
|  |   0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | ||||||
|  |   0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | ||||||
|  |   0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | ||||||
|  |   0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | ||||||
|  |   0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | ||||||
|  |   0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | ||||||
|  |   0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | ||||||
|  |   0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | ||||||
|  |   0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | ||||||
|  |   0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | ||||||
|  |   0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | ||||||
|  |   0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | ||||||
|  |   0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | ||||||
|  |   0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | ||||||
|  |   0x00, 0x00 | ||||||
|  | }; | ||||||
							
								
								
									
										6
									
								
								rufus.h
									
										
									
									
									
								
							
							
						
						
									
										6
									
								
								rufus.h
									
										
									
									
									
								
							|  | @ -15,13 +15,14 @@ | ||||||
|  * You should have received a copy of the GNU General Public License |  * You should have received a copy of the GNU General Public License | ||||||
|  * along with this program.  If not, see <http://www.gnu.org/licenses/>.
 |  * along with this program.  If not, see <http://www.gnu.org/licenses/>.
 | ||||||
|  */ |  */ | ||||||
|  | #include <Windows.h> | ||||||
| #include <winioctl.h>				// for MEDIA_TYPE | #include <winioctl.h>				// for MEDIA_TYPE | ||||||
| 
 | 
 | ||||||
| #pragma once | #pragma once | ||||||
| 
 | 
 | ||||||
| #define RUFUS_DEBUG | #define RUFUS_DEBUG | ||||||
| 
 | 
 | ||||||
| #define APP_VERSION                 "Rufus v1.0.0.43" | #define APP_VERSION                 "Rufus v1.0.0.44" | ||||||
| #define STR_NO_LABEL                "NO_LABEL" | #define STR_NO_LABEL                "NO_LABEL" | ||||||
| #define RUFUS_CANCELBOX_TITLE       "Rufus - Cancellation" | #define RUFUS_CANCELBOX_TITLE       "Rufus - Cancellation" | ||||||
| #define DRIVE_INDEX_MIN             0x80 | #define DRIVE_INDEX_MIN             0x80 | ||||||
|  | @ -52,6 +53,7 @@ | ||||||
| #define safe_stricmp(str1, str2) _stricmp(((str1==NULL)?"<NULL>":str1), ((str2==NULL)?"<NULL>":str2)) | #define safe_stricmp(str1, str2) _stricmp(((str1==NULL)?"<NULL>":str1), ((str2==NULL)?"<NULL>":str2)) | ||||||
| #define safe_strncmp(str1, str2, count) strncmp(((str1==NULL)?"<NULL>":str1), ((str2==NULL)?"<NULL>":str2), count) | #define safe_strncmp(str1, str2, count) strncmp(((str1==NULL)?"<NULL>":str1), ((str2==NULL)?"<NULL>":str2), count) | ||||||
| #define safe_closehandle(h) do {if (h != INVALID_HANDLE_VALUE) {CloseHandle(h); h = INVALID_HANDLE_VALUE;}} while(0) | #define safe_closehandle(h) do {if (h != INVALID_HANDLE_VALUE) {CloseHandle(h); h = INVALID_HANDLE_VALUE;}} while(0) | ||||||
|  | #define safe_unlockclose(h) do {if (h != INVALID_HANDLE_VALUE) {UnlockDrive(h); CloseHandle(h); h = INVALID_HANDLE_VALUE;}} while(0) | ||||||
| #define safe_sprintf _snprintf | #define safe_sprintf _snprintf | ||||||
| #define safe_strlen(str) ((((char*)str)==NULL)?0:strlen(str)) | #define safe_strlen(str) ((((char*)str)==NULL)?0:strlen(str)) | ||||||
| #define safe_strdup _strdup | #define safe_strdup _strdup | ||||||
|  | @ -193,7 +195,7 @@ typedef BOOLEAN (__stdcall *FILE_SYSTEM_CALLBACK)( | ||||||
| 	PVOID                        Data | 	PVOID                        Data | ||||||
| ); | ); | ||||||
| 
 | 
 | ||||||
| /* Parameter naming aligned to
 | /* Parameter names aligned to
 | ||||||
|    http://msdn.microsoft.com/en-us/library/windows/desktop/aa819439.aspx */
 |    http://msdn.microsoft.com/en-us/library/windows/desktop/aa819439.aspx */
 | ||||||
| typedef VOID (WINAPI *FormatEx_t)( | typedef VOID (WINAPI *FormatEx_t)( | ||||||
| 	WCHAR*               DriveRoot, | 	WCHAR*               DriveRoot, | ||||||
|  |  | ||||||
							
								
								
									
										
											BIN
										
									
								
								rufus.rc
									
										
									
									
									
								
							
							
						
						
									
										
											BIN
										
									
								
								rufus.rc
									
										
									
									
									
								
							
										
											Binary file not shown.
										
									
								
							
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue