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