Visit Our UNIX and Linux User Community


read sectors from disk failed with timeout

 
Thread Tools Search this Thread
Special Forums Hardware Boot Loaders read sectors from disk failed with timeout
# 1  
Old 09-02-2011
read sectors from disk failed with timeout

i'm writing some code to simulate the boot progress after power on
but when i try to read the 2nd sector from a floppy disk, this operation always fail with ah=0x80h which means timeout, how can i get over this problem?
my code would be like this:
Code:
[jack@localhost 1]$ cat boot.S
.code16
#define SETUPLEN  4
#define BOOTSEG  0x7C0
#define INITSEG  0x900

.text
a:
mov $BOOTSEG, %ax
mov %ax, %ds
mov $INITSEG, %ax
mov %ax, %es
mov $256, %cx
sub %si, %si
sub %di, %di
rep
movsw

jmp 0x9000+go-a

go:
mov %cs, %ax
mov %ax, %ds
mov %ax, %es
mov %ax, %ss
mov $0xFF00, %sp

load_setup:
mov $0x0000, %dx
mov $0x0002, %cx
mov $0x0200, %bx
mov $0x0200+SETUPLEN, %ax
int $0x13                           //timeout happens here
jnc ok_load_setup
mov $0x0000,%dx
mov $0x0000,%ax
int $0x13
jmp load_setup

ok_load_setup:
mov $0x00, %dl
mov $0x0800, %ax
int $0x13
mov $0x00, %ch
mov %cx, %cs 
mov $INITSEG, %ax
mov %ax, %es

mov $0x03, %ah
xor %bh, %bh
int $0x10

mov $24, %cx
mov $0x0007, %bx
mov msg, %bp
mov $0x1301, %ax
int $0x10

msg:
.byte 13, 10


.org 510
.word 0xaa55

looking forward to replies.
really appreciate any suggestion.

Previous Thread | Next Thread
Test Your Knowledge in Computers #574
Difficulty: Medium
The process of allocating and deallocating memory is generally referred to as memory swapping.
True or False?

10 More Discussions You Might Find Interesting

1. Solaris

EFI disk labeling / understand the parition table / sectors not continue

Hi all, I have a EFI disk and it is use in zfs pool. partition> p Volume: rpool Current partition table (original): Total disk sectors available: 1172107117 + 16384 (reserved sectors) Part Tag Flag First Sector Size Last Sector 0 usr wm ... (8 Replies)
Discussion started by: javanoob
8 Replies

2. Shell Programming and Scripting

Read timeout

I saw several thread for this issue but none addresses my issue. I have tried read -t but the result is read bad options My requirement is 1. Ask for input 2. If input = y or no input in 60 seconds then continue processing else exit fi Kindly consider this urgent. (8 Replies)
Discussion started by: rprasad
8 Replies

3. Shell Programming and Scripting

Use of prtdiag to give information of sectors,cylinders,track of each disk

Hi All, i am trying to get sectors,cylinders,track..etc information of all present disks out of solaris machine using prtvtoc command . Output of ptrvtoc command is as below : bash-3.2# prtvtoc /dev/dsk/c1t0d0s0 * /dev/dsk/c1t0d0s0 partition map * * Dimensions: * 512 bytes/sector... (2 Replies)
Discussion started by: omkar.jadhav
2 Replies

4. UNIX for Advanced & Expert Users

read sectors from disk failed with timeout

i'm writing some code to simulate the boot progress after power on but when i try to read the 2nd sector from a floppy disk, this operation always fail with ah=0x80h which means timeout, how can i get over this problem? my code would be like this: $ cat boot.S .code16 #define SETUPLEN 4... (0 Replies)
Discussion started by: wljackhero
0 Replies

5. Linux

read sectors from disk failed with timeout

i'm writing some code to simulate the boot progress after power on but when i try to read the 2nd sector from a floppy disk, this operation always fail with ah=0x80h which means timeout, how can i get over this problem? my code would be like this: $ cat boot.S .code16 #define SETUPLEN 4... (0 Replies)
Discussion started by: wljackhero
0 Replies

6. Linux

C++ Code to Access Linux Hard Disk Sectors (with a LoopBack Virtual Hard Disk)

Hi all, I'm kind of new to programming in Linux & c/c++. I'm currently writing a FileManager using Ubuntu Linux(10.10) for Learning Purposes. I've got started on this project by creating a loopback device to be used as my virtual hard disk. After creating the loop back hard disk and mounting it... (23 Replies)
Discussion started by: shen747
23 Replies

7. Filesystems, Disks and Memory

Smartmontools and fixing Unreadable Disk Sectors

I found a document: Bad block HOWTO for smartmontools My hard drive is Maxtor: root]# fdisk -lu /dev/hda Disk /dev/hda: 81.9 GB, 81964302336 bytes 255 heads, 63 sectors/track, 9964 cylinders, total 160086528 sectors Units = sectors of 1 * 512 = 512 bytes Disk identifier: 0x3f4e3f4d ... (0 Replies)
Discussion started by: justinian
0 Replies

8. Shell Programming and Scripting

read from std i/p with timeout within a script

hello every one , this is my first participation in the forum , I hope it'll be a good start within a script I would like to put some code to read i\p from standard i\p using read command if it reads Y it will terminate the script if it reads N it will continue execution , if no i\p is... (2 Replies)
Discussion started by: Blue_shadow
2 Replies

9. Filesystems, Disks and Memory

SCSI disk spare sectors

Is there a way to determine the number of available spare sectors on a disk ? as it may be useful for notifying a user to take a backup of the disk before it runs into a medium error. (6 Replies)
Discussion started by: rednex
6 Replies

10. Shell Programming and Scripting

ksh read timeout

any idea on how to timeout the read statement for ksh? for bash u can use read -t option -t timeout Cause read to time out and return failure if a complete line of input is not read within timeout seconds. This option has ... (2 Replies)
Discussion started by: ashterix
2 Replies
PREP(8) 						      System Manager's Manual							   PREP(8)

NAME
prep, format - prepare hard and floppy diskettes SYNOPSIS
disk/prep [ -ra ] special [ type ] disk/format [ -t type ] [ -f ] [ -d ] [ -b bfile ] [ -c csize ] [ -l label ] drive [ files ... ] DESCRIPTION
A partition table is stored on a hard disk to specify the division of the physical disk into a set of logical units. On Plan 9 the parti- tion table is a list of triples: name, starting sector, and ending sector. The kernel fabricates the first two partitions, disk and parti- tion; the disk partition records the starting and ending sectors for the whole disk, and the partition partition, typically the last sector on the disk, holds the partition table itself. Special is the maximal prefix of names of the logical units on the disk, for example #w/hd0. Prep reads and prints the associated parti- tion table and then enters a simple interactive mode to control editing the table. The options are: -r (read only) prohibits writing the table on disk. -a automatically create default partitions if no partition table already exists. These include partitions for DOS, a boot kernel, an NVRAM substitute, a kfs(4) file system, and, if room remains, a swap partition. Format prepares for use the floppy diskette in the disk file named drive, for example /dev/fd0disk. The options are: -f Do not physically format the disc. Used to install an MS-DOS filesystem on a previously formatted disc. With this option, drive can be a plain file. -t specify a density and type of disk to be prepared. The possible types are: 31/2DD 31/2" double density, 737280 bytes 31/2HD 31/2" high density, 1474560 bytes 51/4DD 51/4" double density, 368640 bytes 51/4HD 51/4" high density, 1146880 bytes The default is the highest possible on the device, unless -f is used, in which case the default is 31/2HD. -d add MS-DOS parameter block, file access table (FAT), and root directory to the start of the floppy. The remaining options have effect only when -d is specified: -b use the contents of bfile as the bootstrap block installed in sector 0. -c use a DOS cluster size of csize sectors when creating the DOS FAT. -l add a label when creating the DOS parameter block. Again under -d, any files listed are added, in order, to the root directory of the MS-DOS filesytem. The files are contiguously allocated and created with the READONLY attribute set. The file /sys/src/boot/pc/bb is an example of a suitable bfile to make the disk a boot disk. It gets loaded by the BIOS at 0x7C00, reads the root directory into address 0x7E00, and looks at the first root directory entry. If that file is called B.COM, it uses single sector reads to load the file into address 0x10000 and then jumps to the loaded file image. EXAMPLE
Create a Plan 9 boot floppy on a previously formatted diskette: disk/format -f -b bb -d /dev/fd0disk /386/b.com SOURCE
/sys/src/cmd/disk/prep.c /sys/src/cmd/disk/format.c /sys/src/boot/pc/bb.s SEE ALSO
floppy(3), wren(3), b.com(8) PREP(8)

Featured Tech Videos