Storing the boot Image in HEXADECIMAL Characters

Files Recovery Software
Home Contact Details Customer Support Download Demo Products  

 
 

Comments on Program coding:

In this program coding, basically we are proceeding to perform the following these tasks step by step:

  • Static character data buffer dbuf[512] is provided the information of 512 bytes in hexadecimal system, which is to be written in the first sector of unreadable floppy. dbuf[512] tells the computer during the operation that what information is to be written in the first sector of floppy. (See the Next Program)
  • dinfo points to the diskinfo_t structure that contains the information of parameters required by the operation performed by the _bios_disk function.
  • As we are going to write the information on the first sector of the disk therefore the location of the sector will be as follows:

Parameter

What it means

dinfo.drive = 0x00

It indicates the drive 0 that is floppy disk drive (a:)

dinfo.head = 0

It points to head number 0

dinfo.track = 0

It points to track 0

dinfo.sector = 1

First sector of the floppy that is sector 1

dinfo.sector = 1

Number of sectors to consider for write operation = 1

dinfo.buffer = dbuf

Data buffer for the operation

  • Initialize the disk system using the interrupt 13H (function 00h) where regs.h.ah = 0x00 points to the function 00 H and regs.h.dl = 0x00 is used for a: floppy. And int86(0x13, &regs, &regs) invokes MS-DOS interrupt service INT 13 H.
  • _bios_disk(_DISK_WRITE, &dinfo) writes the boot information from the specified file to the first (specified) sector of the floppy disk.

The status returned is stored in result that is used to display the message for successful operation or to display an error message on the screen if any error occurs.

Storing the boot Image in HEXADECIMAL Characters to use in our previous Program

It will be a very difficult job to write all 512 the characters of floppy’s DOS Boot Record manually in hexadecimal system without any error in the program we recently discussed. If we can write it accurately even than it will be a difficult and time taking task to do this. Let us use some tricky mind to store the data for data buffer dbuf[512] in a file.

We know that in C programming the hexadecimal characters are represented with 0x such that if hexadecimal character is A9 H, we shall write this in our C program as 0xA9. Our next program is doing the same. It will store the data that we need to write in our previous program, as the data of data buffer dbuf[512].

Previous page

page 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20


page 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33

Next page
 
 
Data Recovery Book
 
Chapter 1 An Overview of Data Recovery
Chapter 2 Introduction of Hard Disks
Chapter 3 Logical Approach to Disks and OS
Chapter 4 Number Systems
Chapter 5 Introduction of C Programming
Chapter 6 Introduction to Computer Basics
Chapter 7 Necessary DOS Commands
Chapter 8 Disk-BIOS Functions and Interrupts Handling With C
Chapter 9 Handling Large Hard Disks
Chapter 10 Data Recovery From Corrupted Floppy
Chapter 11 Making Backups
Chapter 12 Reading and Modifying MBR with Programming
Chapter 13 Reading and Modifying DBR with Programming
Chapter 14 Programming for “Raw File” Recovery
Chapter 15 Programming for Data Wipers
Chapter 16 Developing more Utilities for Disks
Appendix Glossary of Data Recovery Terms
 
 

 

Pro Data Doctor

Home

Products

Contact Details

Customer Support

Download Demo

Terms and Conditions

 
Pro Data Doctor