Sponsored Content
Top Forums UNIX for Advanced & Expert Users read sectors from disk failed with timeout Post 302552596 by wljackhero on Sunday 4th of September 2011 11:55:48 PM
Old 09-05-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.

Moderator's Comments:
Mod Comment Double post, continued here

Last edited by pludi; 09-05-2011 at 03:24 AM..
 

10 More Discussions You Might Find Interesting

1. 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

2. 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

3. 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

4. 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

5. 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

6. Boot Loaders

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

7. 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

8. 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

9. 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

10. 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
BOOT(8) 						      System Manager's Manual							   BOOT(8)

NAME
boot - startup procedures DESCRIPTION
A PDP11/45 and PDP11/70 UNIX system is started by a two-stage process. The first is a primary bootstrap which is able to read in rela- tively small stand-alone programs; the second (called boot) is used to read in the system itself. The primary bootstrap must reside in the otherwise unused block zero of the boot device. It can be read in and started by the standard ROM programs, or if necessary by keying in a small startup routine. This program is capable of loading type 407 executable files (not shared, not separate I&D). The user types on the system console the name of the program wished, in this case boot, followed by a carriage return; the named program is retrieved from the file system that starts at block 0 of drive 0 of the boot device. No prompt is given, no diagnos- tic results if the file cannot be found, and no provision is made for correcting typographical errors. The second step, called boot, actually brings in the system. When read into location 0 and executed, boot sets up memory management, relo- cates itself into high memory, and types a `:' on the console. Then it reads from the console a device specification (see below) followed immediately by a pathname. Boot finds the corresponding file on the given device, loads that file into memory location zero, sets up mem- ory management as required, and calls the program by executing a `trap' instruction. Normal line editing characters can be used. Conventionally, the name of the secondary boot program is `/boot' and the name of the current version of the system is `/unix'. Then, the recipe is: 1) Load block 0 of the boot device by fiddling with the console keys as appropriate for your hardware. If you have no appropriate ROM, some programs suitable for manual use are given below. 2) Type boot. 3) When the prompt is given, type hp(0,0)unix or rp(0,0)unix depending on whether you are loading from an RP04/5/6 or an RP03 respectively. The first 0 indicates the physical unit number; the second indicates the block number of the beginning of the logical file system to be searched. (See below). When the system is running, it types a `#' prompt. After doing any file system checks and setting the date (date(8)) a multi-user system is brought up by typing an EOT (control-d) in response to the `#' prompt. Device specifications. A device specification has the following form: device(unit,offset) where device is the type of the device to be searched, unit is the unit number of the device, and offset is the block offset of the file system on the device. Device is one of the following rp RP03 hp RP04/5/6 rk RK05 For example, the specification hp(1,7000) indicates an RP03 disk, unit 1, and the file system found starting at block 7000 (cylinder 35). ROM programs. The following programs to call the primary bootstrap may be installed in read-only memories or manually keyed into main mem- ory. Each program is position-independent but should be placed well above location 0 so it will not be overwritten. Each reads a block from the beginning of a device into core location zero. The octal words constituting the program are listed on the left. RK (drive 0): 012700 mov $rkda,r0 177412 005040 clr -(r0) / rkda cleared by start 010040 mov r0,-(r0) 012740 mov $5,-(r0) 000005 105710 1: tstb (r0) 002376 bge 1b 005007 clr pc RP (drive 0) 012700 mov $rpmr,r0 176726 005040 clr -(r0) 005040 clr -(r0) 005040 clr -(r0) 010040 mov r0,-(r0) 012740 mov $5,-(r0) 000005 105710 1: tstb (r0) 002376 bge 1b 005007 clr pc FILES
/unix - system code /usr/mdec/rpuboot, /usr/mdec/hpuboot - copies of primary bootstrap /boot - second stage bootstrap SEE ALSO
init(8) BOOT(8)
All times are GMT -4. The time now is 10:24 AM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy