Rev 7219 | Rev 7356 | Go to most recent revision | Only display areas with differences | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed
Rev 7219 | Rev 7291 | ||
---|---|---|---|
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\fs.h" |
5 | #include "..\lib\fs.h" |
6 | 6 | ||
7 | #include "..\lib\dll.h" |
7 | #include "..\lib\dll.h" |
8 | #include "..\lib\obj\libio.h" |
8 | #include "..\lib\obj\libio.h" |
9 | #include "..\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 | _ini ini = { "/sys/settings/tmpdisk.ini", "DiskSizes" }; |
52 | _ini ini = { "/sys/settings/tmpdisk.ini", "DiskSizes" }; |
53 | 53 | ||
54 | ///////////////////////////////////////////////////////////////////////////////////////// |
54 | ///////////////////////////////////////////////////////////////////////////////////////// |
55 | ///////////////////////// Code //////////////////// |
55 | ///////////////////////// Code //////////////////// |
56 | ///////////////////////////////////////////////////////////////////////////////////////// |
56 | ///////////////////////////////////////////////////////////////////////////////////////// |
57 | #include "t_console.c" |
57 | #include "t_console.c" |
58 | #include "t_gui.c" |
58 | #include "t_gui.c" |
59 | 59 | ||
60 | 60 | ||
61 | void main() |
61 | void main() |
62 | { |
62 | { |
63 | driver_handle = LoadDriver("tmpdisk"); |
63 | driver_handle = LoadDriver("tmpdisk"); |
64 | if (driver_handle==0) |
64 | if (driver_handle==0) |
65 | { |
65 | { |
66 | notify("'TmpDisk\nError: /rd1/1/drivers/tmpdisk.obj driver loading failed\nvirtual disk wouldn't be added' -tE"); |
66 | notify("'TmpDisk\nError: /rd1/1/drivers/tmpdisk.obj driver loading failed\nvirtual disk wouldn't be added' -tE"); |
67 | ExitProcess(); |
67 | ExitProcess(); |
68 | } |
68 | } |
69 | 69 | ||
70 | GetDiskSizesFromIni(); |
70 | GetDiskSizesFromIni(); |
71 | 71 | ||
72 | if (param) |
72 | if (param) |
73 | Console_Work(); |
73 | Console_Work(); |
74 | else |
74 | else |
75 | Main_Window(); |
75 | Main_Window(); |
76 | 76 | ||
77 | SaveDiskSizesToIni(); |
77 | SaveDiskSizesToIni(); |
78 | ExitProcess(); |
78 | ExitProcess(); |
79 | } |
79 | } |
80 | 80 | ||
81 | 81 | ||
82 | void GetDiskSizesFromIni() |
82 | void GetDiskSizesFromIni() |
83 | { |
83 | { |
84 | char i, key[2]; |
84 | char i, key[2]; |
85 | if (load_dll2(libini, #lib_init,1)!=0) notify("Error: library doesn't exists - libini"); |
85 | load_dll(libini, #lib_init, 1); |
86 | key[1]=0; |
86 | key[1]=0; |
87 | for (i=0; i<=9; i++) |
87 | for (i=0; i<=9; i++) |
88 | { |
88 | { |
89 | key[0]=i+'0'; |
89 | key[0]=i+'0'; |
90 | disk_sizes[i] = ini.GetInt(#key, 0); |
90 | disk_sizes[i] = ini.GetInt(#key, 0); |
91 | } |
91 | } |
92 | } |
92 | } |
93 | 93 | ||
94 | void SaveDiskSizesToIni() |
94 | void SaveDiskSizesToIni() |
95 | { |
95 | { |
96 | char i, key[2]; |
96 | char i, key[2]; |
97 | key[1]=0; |
97 | key[1]=0; |
98 | for (i=0; i<=9; i++) |
98 | for (i=0; i<=9; i++) |
99 | { |
99 | { |
100 | key[0]=i+'0'; |
100 | key[0]=i+'0'; |
101 | ini.SetInt(#key, disk_sizes[i]); |
101 | ini.SetInt(#key, disk_sizes[i]); |
102 | } |
102 | } |
103 | } |
103 | } |
104 | 104 | ||
105 | 105 | ||
106 | stop:=9;>=9;> |
106 | stop:=9;>=9;> |