Rev 5482 | Rev 5659 | Go to most recent revision | Only display areas with differences | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed
Rev 5482 | Rev 5499 | ||
---|---|---|---|
1 | #define MEMSIZE 0xA0000 |
1 | #define MEMSIZE 0xA0000 |
2 | #include "..\lib\kolibri.h" |
2 | #include "..\lib\kolibri.h" |
3 | #include "..\lib\mem.h" |
3 | #include "..\lib\mem.h" |
4 | #include "..\lib\strings.h" |
4 | #include "..\lib\strings.h" |
5 | #include "..\lib\file_system.h" |
5 | #include "..\lib\file_system.h" |
6 | 6 | ||
7 | #include "..\lib\dll.h" |
7 | #include "..\lib\dll.h" |
8 | #include "..\lib\lib.obj\libio_lib.h" |
8 | #include "..\lib\obj\libio_lib.h" |
9 | #include "..\lib\lib.obj\libini.h" |
9 | #include "..\lib\obj\libini.h" |
10 | 10 | ||
11 | #ifndef AUTOBUILD |
11 | #ifndef AUTOBUILD |
12 | #include "lang.h--" |
12 | #include "lang.h--" |
13 | #endif |
13 | #endif |
14 | 14 | ||
15 | ///////////////////////////////////////////////////////////////////////////////////////// |
15 | ///////////////////////////////////////////////////////////////////////////////////////// |
16 | ///////////////////////// Program data //////////////////// |
16 | ///////////////////////// Program data //////////////////// |
17 | ///////////////////////////////////////////////////////////////////////////////////////// |
17 | ///////////////////////////////////////////////////////////////////////////////////////// |
18 | 18 | ||
19 | struct ioctl_struct |
19 | struct ioctl_struct |
20 | { |
20 | { |
21 | dword handle; |
21 | dword handle; |
22 | dword io_code; |
22 | dword io_code; |
23 | dword input; |
23 | dword input; |
24 | dword inp_size; |
24 | dword inp_size; |
25 | dword output; |
25 | dword output; |
26 | dword out_size; |
26 | dword out_size; |
27 | }; |
27 | }; |
28 | 28 | ||
29 | #define DEV_ADD_DISK 1 //input = structure add_disk_struc |
29 | #define DEV_ADD_DISK 1 //input = structure add_disk_struc |
30 | #define DEV_DEL_DISK 2 //input = structure del_disk_struc |
30 | #define DEV_DEL_DISK 2 //input = structure del_disk_struc |
31 | 31 | ||
32 | struct add_disk_struc |
32 | struct add_disk_struc |
33 | { |
33 | { |
34 | dword DiskSize; // in sectors, 1 sector = 512 bytes. Include FAT service data |
34 | dword DiskSize; // in sectors, 1 sector = 512 bytes. Include FAT service data |
35 | unsigned char DiskId; // from 0 to 9 |
35 | unsigned char DiskId; // from 0 to 9 |
36 | }; |
36 | }; |
37 | 37 | ||
38 | struct del_disk_struc |
38 | struct del_disk_struc |
39 | { |
39 | { |
40 | unsigned char DiskId; //from 0 to 9 |
40 | unsigned char DiskId; //from 0 to 9 |
41 | }; |
41 | }; |
42 | 42 | ||
43 | 43 | ||
44 | ioctl_struct ioctl; |
44 | ioctl_struct ioctl; |
45 | add_disk_struc add_disk; |
45 | add_disk_struc add_disk; |
46 | del_disk_struc del_disk; |
46 | del_disk_struc del_disk; |
47 | 47 | ||
48 | int driver_handle; |
48 | int driver_handle; |
49 | 49 | ||
50 | dword disk_sizes[10]; |
50 | dword disk_sizes[10]; |
51 | 51 | ||
52 | ///////////////////////////////////////////////////////////////////////////////////////// |
52 | ///////////////////////////////////////////////////////////////////////////////////////// |
53 | ///////////////////////// Code //////////////////// |
53 | ///////////////////////// Code //////////////////// |
54 | ///////////////////////////////////////////////////////////////////////////////////////// |
54 | ///////////////////////////////////////////////////////////////////////////////////////// |
55 | #include "t_console.c" |
55 | #include "t_console.c" |
56 | #include "t_gui.c" |
56 | #include "t_gui.c" |
57 | 57 | ||
58 | 58 | ||
59 | void main() |
59 | void main() |
60 | { |
60 | { |
61 | driver_handle = LoadDriver("tmpdisk"); |
61 | driver_handle = LoadDriver("tmpdisk"); |
62 | if (driver_handle==0) |
62 | if (driver_handle==0) |
63 | { |
63 | { |
64 | notify("'TmpDisk\nError: /rd1/1/drivers/tmpdisk.obj driver loading failed\nvirtual disk wouldn't be added' -tE"); |
64 | notify("'TmpDisk\nError: /rd1/1/drivers/tmpdisk.obj driver loading failed\nvirtual disk wouldn't be added' -tE"); |
65 | ExitProcess(); |
65 | ExitProcess(); |
66 | } |
66 | } |
67 | 67 | ||
68 | GetDiskSizesFromIni(); |
68 | GetDiskSizesFromIni(); |
69 | 69 | ||
70 | if (param) |
70 | if (param) |
71 | Console_Work(); |
71 | Console_Work(); |
72 | else |
72 | else |
73 | Main_Window(); |
73 | Main_Window(); |
74 | 74 | ||
75 | SaveDiskSizesToIni(); |
75 | SaveDiskSizesToIni(); |
76 | ExitProcess(); |
76 | ExitProcess(); |
77 | } |
77 | } |
78 | 78 | ||
79 | 79 | ||
80 | void GetDiskSizesFromIni() |
80 | void GetDiskSizesFromIni() |
81 | { |
81 | { |
82 | char i, key[2]; |
82 | char i, key[2]; |
83 | if (load_dll2(libini, #lib_init,1)!=0) notify("Error: library doesn't exists - libini"); |
83 | if (load_dll2(libini, #lib_init,1)!=0) notify("Error: library doesn't exists - libini"); |
84 | for (i=0; i<=9; i++) |
84 | for (i=0; i<=9; i++) |
85 | { |
85 | { |
86 | key[0]=i+'0'; |
86 | key[0]=i+'0'; |
87 | ini_get_int stdcall ("/sys/settings/tmpdisk.ini", "DiskSizes", #key, 0); |
87 | ini_get_int stdcall ("/sys/settings/tmpdisk.ini", "DiskSizes", #key, 0); |
88 | disk_sizes[i] = EAX; |
88 | disk_sizes[i] = EAX; |
89 | } |
89 | } |
90 | } |
90 | } |
91 | 91 | ||
92 | void SaveDiskSizesToIni() |
92 | void SaveDiskSizesToIni() |
93 | { |
93 | { |
94 | char i, key[2]; |
94 | char i, key[2]; |
95 | for (i=0; i<=9; i++) |
95 | for (i=0; i<=9; i++) |
96 | { |
96 | { |
97 | key[0]=i+'0'; |
97 | key[0]=i+'0'; |
98 | ini_set_int stdcall ("/sys/settings/tmpdisk.ini", "DiskSizes", #key, disk_sizes[i]); |
98 | ini_set_int stdcall ("/sys/settings/tmpdisk.ini", "DiskSizes", #key, disk_sizes[i]); |
99 | } |
99 | } |
100 | } |
100 | } |
101 | 101 | ||
102 | 102 | ||
103 | stop:=9;>=9;> |
103 | stop:=9;>=9;> |