Rev 381 | Rev 425 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed
Rev 381 | Rev 412 | ||
---|---|---|---|
Line 1... | Line 1... | ||
1 | ; READ RAMDISK IMAGE FROM HD |
1 | ; READ RAMDISK IMAGE FROM HD |
Line 2... | Line 2... | ||
2 | 2 | ||
3 | cmp [boot_dev],1 |
3 | cmp [boot_dev],1 |
Line 4... | Line 4... | ||
4 | jne no_sys_on_hd |
4 | jne no_sys_on_hd |
5 | 5 | ||
6 | test [0x40001],byte 0x40 |
6 | test [DRIVE_DATA+1],byte 0x40 |
7 | jz position_2 |
7 | jz position_2 |
8 | mov [hdbase],0x1f0 |
8 | mov [hdbase],0x1f0 |
9 | mov [hdid],0x0 |
9 | mov [hdid],0x0 |
10 | mov [hdpos],1 |
10 | mov [hdpos],1 |
11 | mov [fat32part],0 |
11 | mov [fat32part],0 |
12 | position_1_1: |
12 | position_1_1: |
13 | inc [fat32part] |
13 | inc [fat32part] |
14 | call search_and_read_image |
14 | call search_and_read_image |
15 | cmp [image_retrieved],1 |
15 | cmp [image_retrieved],1 |
16 | je yes_sys_on_hd |
16 | je yes_sys_on_hd |
17 | movzx eax,byte [0x40002] |
17 | movzx eax,byte [DRIVE_DATA+2] |
18 | cmp [fat32part],eax |
18 | cmp [fat32part],eax |
19 | jle position_1_1 |
19 | jle position_1_1 |
20 | position_2: |
20 | position_2: |
21 | test [0x40001],byte 0x10 |
21 | test [DRIVE_DATA+1],byte 0x10 |
22 | jz position_3 |
22 | jz position_3 |
23 | mov [hdbase],0x1f0 |
23 | mov [hdbase],0x1f0 |
24 | mov [hdid],0x10 |
24 | mov [hdid],0x10 |
25 | mov [hdpos],2 |
25 | mov [hdpos],2 |
26 | mov [fat32part],0 |
26 | mov [fat32part],0 |
27 | position_2_1: |
27 | position_2_1: |
28 | inc [fat32part] |
28 | inc [fat32part] |
29 | call search_and_read_image |
29 | call search_and_read_image |
30 | cmp [image_retrieved],1 |
30 | cmp [image_retrieved],1 |
31 | je yes_sys_on_hd |
31 | je yes_sys_on_hd |
32 | movzx eax,byte [0x40003] |
32 | movzx eax,byte [DRIVE_DATA+3] |
33 | cmp eax,[fat32part] |
33 | cmp eax,[fat32part] |
34 | jle position_2_1 |
34 | jle position_2_1 |
35 | position_3: |
35 | position_3: |
36 | test [0x40001],byte 0x4 |
36 | test [DRIVE_DATA+1],byte 0x4 |
37 | jz position_4 |
37 | jz position_4 |
38 | mov [hdbase],0x170 |
38 | mov [hdbase],0x170 |
39 | mov [hdid],0x0 |
39 | mov [hdid],0x0 |
40 | mov [hdpos],3 |
40 | mov [hdpos],3 |
41 | mov [fat32part],0 |
41 | mov [fat32part],0 |
42 | position_3_1: |
42 | position_3_1: |
43 | inc [fat32part] |
43 | inc [fat32part] |
44 | call search_and_read_image |
44 | call search_and_read_image |
45 | cmp [image_retrieved],1 |
45 | cmp [image_retrieved],1 |
46 | je yes_sys_on_hd |
46 | je yes_sys_on_hd |
47 | movzx eax,byte [0x40004] |
47 | movzx eax,byte [DRIVE_DATA+4] |
48 | cmp eax,[fat32part] |
48 | cmp eax,[fat32part] |
49 | jle position_3_1 |
49 | jle position_3_1 |
50 | position_4: |
50 | position_4: |
51 | test [0x40001],byte 0x1 |
51 | test [DRIVE_DATA+1],byte 0x1 |
52 | jz no_sys_on_hd |
52 | jz no_sys_on_hd |
53 | mov [hdbase],0x170 |
53 | mov [hdbase],0x170 |
54 | mov [hdid],0x10 |
54 | mov [hdid],0x10 |
55 | mov [hdpos],4 |
55 | mov [hdpos],4 |
56 | mov [fat32part],0 |
56 | mov [fat32part],0 |
57 | position_4_1: |
57 | position_4_1: |
58 | inc [fat32part] |
58 | inc [fat32part] |
59 | call search_and_read_image |
59 | call search_and_read_image |
60 | cmp [image_retrieved],1 |
60 | cmp [image_retrieved],1 |
61 | je yes_sys_on_hd |
61 | je yes_sys_on_hd |
62 | movzx eax,byte [0x40005] |
62 | movzx eax,byte [DRIVE_DATA+5] |
63 | cmp eax,[fat32part] |
63 | cmp eax,[fat32part] |
Line 64... | Line 64... | ||
64 | jle position_4_1 |
64 | jle position_4_1 |