Rev 73 | Go to most recent revision | Show entire file | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed
Rev 73 | Rev 74 | ||
---|---|---|---|
Line 1... | Line 1... | ||
1 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; |
1 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; |
2 | ;; ;; |
2 | ;; ;; |
3 | ;; System service for filesystem call ;; |
3 | ;; System service for filesystem call ;; |
4 | ;; (C) 2004 Ville Turjanmaa, License: GPL ;; |
4 | ;; (C) 2004 Ville Turjanmaa, License: GPL ;; |
5 | ;; ;; |
5 | ;; 29.04.2006 Elimination of hangup after the ;; |
- | 6 | ;; expiration hd_wait_timeout (for LBA) - Mario79 ;; |
|
6 | ;; xx.04.2006 LFN support - diamond ;; |
7 | ;; xx.04.2006 LFN support - diamond ;; |
7 | ;; 15.01.2005 get file size/attr/date, file_append (only for hd) - ATV ;; |
8 | ;; 15.01.2005 get file size/attr/date, file_append (only for hd) - ATV ;; |
8 | ;; 23.11.2004 test if hd/partition is set - ATV ;; |
9 | ;; 23.11.2004 test if hd/partition is set - ATV ;; |
9 | ;; 18.11.2004 get_disk_info and more error codes - ATV ;; |
10 | ;; 18.11.2004 get_disk_info and more error codes - ATV ;; |
10 | ;; 08.11.2004 expand_pathz and rename (only for hd) - ATV ;; |
11 | ;; 08.11.2004 expand_pathz and rename (only for hd) - ATV ;; |
Line 29... | Line 30... | ||
29 | hd_address_table: dd 0x1f0,0x00,0x1f0,0x10 |
30 | hd_address_table: dd 0x1f0,0x00,0x1f0,0x10 |
30 | dd 0x170,0x00,0x170,0x10 |
31 | dd 0x170,0x00,0x170,0x10 |
31 | endg |
32 | endg |
Line 32... | Line 33... | ||
32 | 33 | ||
- | 34 | file_system: |
|
33 | file_system: |
35 | |
34 | ; IN: |
36 | ; IN: |
35 | ; |
37 | ; |
36 | ; eax = 0 ; read file /RamDisk/First 6 /HardDisk/First 30 |
38 | ; eax = 0 ; read file /RamDisk/First 6 /HardDisk/First 30 |
37 | ; eax = 1 ; write file /RamDisk/First 33 /HardDisk/First 56 |
39 | ; eax = 1 ; write file /RamDisk/First 33 /HardDisk/First 56 |
Line 934... | Line 936... | ||
934 | 936 | ||
935 | mov [hdbase],eax |
937 | mov [hdbase],eax |
Line 936... | Line 938... | ||
936 | mov [hdid],ebx |
938 | mov [hdid],ebx |
- | 939 | ||
- | 940 | call wait_for_hd_idle |
|
Line 937... | Line 941... | ||
937 | 941 | cmp [hd_error],0 |
|
938 | call wait_for_hd_idle |
942 | jne hd_lba_error |
Line 939... | Line 943... | ||
939 | 943 | ||
Line 970... | Line 974... | ||
970 | out dx,al |
974 | out dx,al |
Line 971... | Line 975... | ||
971 | 975 | ||
Line 972... | Line 976... | ||
972 | sti |
976 | sti |
- | 977 | ||
- | 978 | call wait_for_sector_buffer |
|
Line 973... | Line 979... | ||
973 | 979 | cmp [hd_error],0 |
|
Line 974... | Line 980... | ||
974 | call wait_for_sector_buffer |
980 | jne hd_lba_error |
975 | 981 | ||
Line 985... | Line 991... | ||
985 | 991 | ||
986 | xor eax,eax |
992 | xor eax,eax |
Line 987... | Line 993... | ||
987 | xor ebx,ebx |
993 | xor ebx,ebx |
988 | - | ||
- | 994 | ||
989 | LBA_read_ret: |
995 | LBA_read_ret: |
990 | 996 | mov [hd_error],0 |
|
Line 991... | Line 997... | ||
991 | mov [hd1_status],0 |
997 | mov [hd1_status],0 |