Rev 1300 | Rev 1349 | Go to most recent revision | Details | Compare with Previous | Last modification | View Log | RSS feed
Rev | Author | Line No. | Line |
---|---|---|---|
750 | victor | 1 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; |
2 | ;; ;; |
||
1289 | diamond | 3 | ;; Copyright (C) KolibriOS team 2004-2009. All rights reserved. ;; |
750 | victor | 4 | ;; Distributed under terms of the GNU General Public License ;; |
5 | ;; ;; |
||
6 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; |
||
593 | mikedld | 7 | |
465 | serge | 8 | $Revision: 1316 $ |
9 | |||
593 | mikedld | 10 | |
465 | serge | 11 | keymap: |
12 | |||
13 | db '6',27 |
||
14 | db '1234567890-=',8,9 |
||
15 | db 'qwertyuiop[]',13 |
||
16 | db '~asdfghjkl;',39,96,0,'\zxcvbnm,./',0,'45 ' |
||
17 | db '@234567890123',180,178,184,'6',176,'7' |
||
18 | db 179,'8',181,177,183,185,182 |
||
19 | db 'AB |
||
20 | db 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' |
||
21 | db 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' |
||
22 | db 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' |
||
23 | |||
24 | keymap_shift: |
||
25 | db '6',27 |
||
26 | db '!@#$%^&*()_+',8,9 |
||
27 | db 'QWERTYUIOP{}',13 |
||
28 | db '~ASDFGHJKL:"~',0,'|ZXCVBNM<>?',0,'45 ' |
||
29 | db '@234567890123',180,178,184,'6',176,'7' |
||
30 | db 179,'8',181,177,183,185,182 |
||
31 | db 'AB>D',255,'FGHIJKLMNOPQRSTUVWXYZ' |
||
32 | db 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' |
||
33 | db 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' |
||
34 | db 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' |
||
35 | |||
36 | |||
37 | keymap_alt: |
||
38 | db ' ',27 |
||
39 | db ' @ $ {[]}\ ',8,9 |
||
40 | db ' ',13 |
||
41 | db ' ',0,' ',0,'4',0,' ' |
||
42 | db ' ',180,178,184,'6',176,'7' |
||
43 | db 179,'8',181,177,183,185,182 |
||
44 | db 'ABCD',255,'FGHIJKLMNOPQRSTUVWXYZ' |
||
45 | db 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' |
||
46 | db 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' |
||
47 | db 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' |
||
48 | |||
49 | |||
50 | |||
1055 | Galkov | 51 | boot_memdetect db 'Determining amount of memory',0 |
52 | boot_fonts db 'Fonts loaded',0 |
||
53 | boot_tss db 'Setting TSSs',0 |
||
54 | boot_cpuid db 'Reading CPUIDs',0 |
||
55 | boot_devices db 'Detecting devices',0 |
||
56 | boot_timer db 'Setting timer',0 |
||
57 | boot_irqs db 'Reprogramming IRQs',0 |
||
58 | boot_setmouse db 'Setting mouse',0 |
||
59 | boot_windefs db 'Setting window defaults',0 |
||
60 | boot_bgr db 'Calculating background',0 |
||
61 | boot_resirqports db 'Reserving IRQs & ports',0 |
||
62 | boot_setrports db 'Setting addresses for IRQs',0 |
||
63 | boot_setostask db 'Setting OS task',0 |
||
64 | boot_allirqs db 'Unmasking all IRQs',0 |
||
65 | boot_tsc db 'Reading TSC',0 |
||
1038 | diamond | 66 | boot_cpufreq db 'CPU frequency is ',' ',' MHz',0 |
1055 | Galkov | 67 | boot_pal_ega db 'Setting EGA/CGA 320x200 palette',0 |
68 | boot_pal_vga db 'Setting VGA 640x480 palette',0 |
||
69 | boot_failed db 'Failed to start first app',0 |
||
70 | boot_mtrr db 'Setting MTRR',0 |
||
767 | diamond | 71 | if preboot_blogesc |
1055 | Galkov | 72 | boot_tasking db 'All set - press ESC to start',0 |
767 | diamond | 73 | end if |
465 | serge | 74 | |
1038 | diamond | 75 | ;new_process_loading db 'K : New Process - loading',13,10,0 |
76 | ;new_process_running db 'K : New Process - done',13,10,0 |
||
465 | serge | 77 | start_not_enough_memory db 'K : New Process - not enough memory',13,10,0 |
78 | |||
79 | msg_unresolved db 'unresolved ',0 |
||
80 | msg_module db 'in module ',0 |
||
81 | msg_version db 'incompatible driver version',13,10,0 |
||
82 | msg_www db 'please visit www.kolibrios.org',13,10,0 |
||
1055 | Galkov | 83 | msg_CR db 13,10,0 |
1018 | diamond | 84 | aSis db 'SIS',0 |
465 | serge | 85 | |
86 | intel_str db "GenuineIntel",0 |
||
87 | AMD_str db "AuthenticAMD",0 |
||
88 | |||
89 | ;szSound db 'SOUND',0 |
||
90 | ;szInfinity db 'INFINITY',0 |
||
1055 | Galkov | 91 | szHwMouse db 'ATI2D',0 |
92 | szPS2MDriver db 'PS2MOUSE',0 |
||
1106 | diamond | 93 | ;szCOM_MDriver db 'COM_MOUSE',0 |
1055 | Galkov | 94 | szUSB db 'USB',0 |
95 | szAtiHW db '/rd/1/drivers/ati2d.drv',0 |
||
465 | serge | 96 | |
97 | szSTART db 'START',0 |
||
98 | szEXPORTS db 'EXPORTS',0 |
||
916 | serge | 99 | sz_EXPORTS db '_EXPORTS',0 |
100 | |||
465 | serge | 101 | szIMPORTS db 'IMPORTS',0 |
102 | |||
543 | spraid | 103 | read_firstapp db '/sys/' |
521 | diamond | 104 | firstapp db 'LAUNCHER',0 |
488 | spraid | 105 | |
1055 | Galkov | 106 | char db '/sys/FONTS/CHAR.MT',0 |
107 | char2 db '/sys/FONTS/CHAR2.MT',0 |
||
488 | spraid | 108 | |
465 | serge | 109 | bootpath db '/KOLIBRI ' |
110 | bootpath2 db 0 |
||
1055 | Galkov | 111 | vmode db '/sys/drivers/VMODE.MDR',0 |
112 | vrr_m db 'VRR_M',0 |
||
465 | serge | 113 | kernel_file db 'KERNEL MNT' |
114 | |||
940 | serge | 115 | |
753 | serge | 116 | align 4 |
940 | serge | 117 | |
118 | shmem_list: |
||
119 | .bk dd shmem_list |
||
120 | .fd dd shmem_list |
||
121 | |||
1289 | diamond | 122 | dll_list: |
123 | .bk dd dll_list |
||
124 | .fd dd dll_list |
||
125 | |||
126 | MAX_DEFAULT_DLL_ADDR = 0x20000000 |
||
127 | MIN_DEFAULT_DLL_ADDR = 0x10000000 |
||
128 | dll_cur_addr dd MIN_DEFAULT_DLL_ADDR |
||
129 | |||
940 | serge | 130 | ; supported videomodes |
131 | |||
465 | serge | 132 | |
133 | ; mike.dld { |
||
134 | db 0 |
||
135 | dd servetable-0x10000 |
||
1055 | Galkov | 136 | draw_line dd __sys_draw_line |
137 | draw_pointer dd __sys_draw_pointer |
||
465 | serge | 138 | ;//mike.dld, 2006-08-02 [ |
139 | ;drawbar dd __sys_drawbar |
||
1055 | Galkov | 140 | drawbar dd __sys_drawbar.forced |
465 | serge | 141 | ;//mike.dld, 2006-08-02 ] |
1055 | Galkov | 142 | putpixel dd __sys_putpixel |
465 | serge | 143 | ; } mike.dld |
144 | |||
145 | |||
146 | align 4 |
||
147 | keyboard dd 1 |
||
148 | syslang dd 1 |
||
149 | |||
1055 | Galkov | 150 | boot_y dd 10 |
465 | serge | 151 | |
1055 | Galkov | 152 | pci_bios_entry dd 0 |
153 | dw pci_code_sel |
||
465 | serge | 154 | |
155 | if __DEBUG__ eq 1 |
||
156 | include_debug_strings |
||
157 | end if |
||
158 | |||
159 | IncludeIGlobals |
||
160 | |||
161 | align 16 |
||
162 | gdts: |
||
163 | |||
1055 | Galkov | 164 | dw gdte-$-1 |
165 | dd gdts |
||
166 | dw 0 |
||
465 | serge | 167 | |
525 | diamond | 168 | ; Attention! Do not change the order of the first four selectors. They are used in Fast System Call |
465 | serge | 169 | ; must be : os_code, os_data, app_code, app_data, .... |
170 | |||
171 | int_code_l: |
||
172 | os_code_l: |
||
1055 | Galkov | 173 | dw 0xffff |
174 | dw 0x0000 |
||
175 | db 0x00 |
||
176 | dw 11011111b *256 +10011010b |
||
177 | db 0x00 |
||
465 | serge | 178 | |
179 | int_data_l: |
||
180 | os_data_l: |
||
1055 | Galkov | 181 | dw 0xffff |
182 | dw 0x0000 |
||
183 | db 0x00 |
||
184 | dw 11011111b *256 +10010010b |
||
185 | db 0x00 |
||
465 | serge | 186 | |
187 | app_code_l: |
||
1055 | Galkov | 188 | dw 0xFFFF |
189 | dw 0 |
||
190 | db 0 |
||
191 | db cpl3 |
||
1220 | serge | 192 | dw G32+D32+0xF; |
465 | serge | 193 | |
194 | app_data_l: |
||
1055 | Galkov | 195 | dw 0xFFFF |
196 | dw 0 |
||
197 | db 0 |
||
198 | db drw3 |
||
1220 | serge | 199 | dw G32+D32+0xF; |
465 | serge | 200 | |
586 | serge | 201 | ; ------------- PCI BIOS ------------------ |
202 | |||
203 | pci_code_32: |
||
1055 | Galkov | 204 | dw 0 ;lim 0-15 |
205 | dw 0 ;base 0-15 |
||
206 | db 0 ;base 16-23 |
||
207 | db cpl0 ;type |
||
208 | db D32 ;lim 16-19+props |
||
209 | db 0 ;base 24-31 |
||
586 | serge | 210 | |
211 | pci_data_32: |
||
1055 | Galkov | 212 | dw 0 ;lim 0-15 |
213 | dw 0 ;base 0-15 |
||
214 | db 0 ;base 16-23 |
||
215 | db dpl0 ;type |
||
216 | db D32 ;lim 16-19+props |
||
217 | db 0 ;base 24-31 |
||
586 | serge | 218 | |
465 | serge | 219 | ; --------------- APM --------------------- |
220 | apm_code_32: |
||
1055 | Galkov | 221 | dw 0x0f ; limit 64kb |
222 | db 0, 0, 0 |
||
223 | dw 11010000b *256 +10011010b |
||
224 | db 0x00 |
||
465 | serge | 225 | apm_code_16: |
1055 | Galkov | 226 | dw 0x0f |
227 | db 0, 0, 0 |
||
228 | dw 10010000b *256 +10011010b |
||
229 | db 0x00 |
||
465 | serge | 230 | apm_data_16: |
1055 | Galkov | 231 | dw 0x0f |
232 | db 0, 0, 0 |
||
233 | dw 10010000b *256 +10010010b |
||
234 | db 0x00 |
||
465 | serge | 235 | ; ----------------------------------------- |
236 | |||
237 | graph_data_l: |
||
238 | |||
1055 | Galkov | 239 | dw 0x7ff |
240 | dw 0x0000 |
||
241 | db 0x00 |
||
242 | dw 11010000b *256 +11110010b |
||
243 | db 0x00 |
||
465 | serge | 244 | tss0_l: |
1055 | Galkov | 245 | dw TSS_SIZE-1 |
246 | dw tss and 0xFFFF |
||
247 | db (tss shr 16) and 0xFF |
||
248 | db 10001001b |
||
249 | dw (tss shr 16) and 0xFF00 |
||
1220 | serge | 250 | |
251 | tls_data_l: |
||
252 | dw 0x0FFF |
||
253 | dw 0 |
||
254 | db 0 |
||
255 | db drw3 |
||
256 | dw D32 |
||
257 | |||
465 | serge | 258 | endofcode: |
259 | gdte: |
||
260 | |||
261 | align 16 |
||
1055 | Galkov | 262 | cur_saved_data rb 4096 |
263 | fpu_data: rb 512 |
||
465 | serge | 264 | |
265 | ; device irq owners |
||
1055 | Galkov | 266 | irq_owner rd 16 ; process id |
465 | serge | 267 | |
268 | ; on irq read ports |
||
269 | |||
1055 | Galkov | 270 | irq00read rd 16 |
271 | irq01read rd 16 |
||
272 | irq02read rd 16 |
||
273 | irq03read rd 16 |
||
274 | irq04read rd 16 |
||
275 | irq05read rd 16 |
||
276 | irq06read rd 16 |
||
277 | irq07read rd 16 |
||
278 | irq08read rd 16 |
||
279 | irq09read rd 16 |
||
280 | irq10read rd 16 |
||
281 | irq11read rd 16 |
||
282 | irq12read rd 16 |
||
283 | irq13read rd 16 |
||
284 | irq14read rd 16 |
||
285 | irq15read rd 16 |
||
465 | serge | 286 | |
1055 | Galkov | 287 | irq_tab rd 16 |
465 | serge | 288 | |
1055 | Galkov | 289 | mem_block_map rb 512 |
290 | mem_block_list rd 64 |
||
802 | serge | 291 | large_block_list rd 31 |
1055 | Galkov | 292 | mem_block_mask rd 2 |
802 | serge | 293 | large_block_mask rd 1 |
465 | serge | 294 | |
940 | serge | 295 | mem_used.fd rd 1 |
296 | mem_used.bk rd 1 |
||
465 | serge | 297 | |
1055 | Galkov | 298 | mem_block_arr rd 1 |
465 | serge | 299 | mem_block_start rd 1 |
1055 | Galkov | 300 | mem_block_end rd 1 |
465 | serge | 301 | |
940 | serge | 302 | heap_mutex rd 1 |
303 | heap_size rd 1 |
||
304 | heap_free rd 1 |
||
305 | heap_blocks rd 1 |
||
306 | free_blocks rd 1 |
||
465 | serge | 307 | |
308 | mst MEM_STATE |
||
309 | |||
940 | serge | 310 | page_start rd 1 |
311 | page_end rd 1 |
||
1055 | Galkov | 312 | sys_page_map rd 1 |
313 | os_stack_seg rd 1 |
||
465 | serge | 314 | |
940 | serge | 315 | |
1055 | Galkov | 316 | srv.fd rd 1 |
317 | srv.bk rd 1 |
||
465 | serge | 318 | |
1300 | serge | 319 | |
320 | align 16 |
||
321 | |||
1275 | serge | 322 | _display display_t |
323 | |||
1300 | serge | 324 | _WinMapAddress rd 1 |
325 | _WinMapSize rd 1 |
||
326 | |||
1055 | Galkov | 327 | def_cursor rd 1 |
328 | current_cursor rd 1 |
||
329 | hw_cursor rd 1 |
||
330 | cur_saved_base rd 1 |
||
465 | serge | 331 | |
1316 | serge | 332 | cur.lock rd 1 ;1 - lock update, 2- hide |
333 | cur.left rd 1 ;cursor clip box |
||
334 | cur.top rd 1 |
||
335 | cur.right rd 1 |
||
336 | cur.bottom rd 1 |
||
337 | cur.w rd 1 |
||
338 | cur.h rd 1 |
||
339 | |||
1055 | Galkov | 340 | ipc_tmp rd 1 |
341 | ipc_pdir rd 1 |
||
342 | ipc_ptab rd 1 |
||
465 | serge | 343 | |
1055 | Galkov | 344 | proc_mem_map rd 1 |
345 | proc_mem_pdir rd 1 |
||
346 | proc_mem_tab rd 1 |
||
465 | serge | 347 | |
1055 | Galkov | 348 | tmp_task_pdir rd 1 |
349 | tmp_task_ptab rd 1 |
||
465 | serge | 350 | |
1055 | Galkov | 351 | default_io_map rd 1 |
465 | serge | 352 | |
1055 | Galkov | 353 | LFBSize rd 1 |
465 | serge | 354 | |
1055 | Galkov | 355 | stall_mcs rd 1 |
356 | current_slot rd 1 |
||
465 | serge | 357 | |
358 | ; status |
||
1055 | Galkov | 359 | hd1_status rd 1 ; 0 - free : other - pid |
465 | serge | 360 | application_table_status rd 1 ; 0 - free : other - pid |
361 | |||
362 | ; device addresses |
||
1055 | Galkov | 363 | mididp rd 1 |
364 | midisp rd 1 |
||
465 | serge | 365 | |
1055 | Galkov | 366 | cdbase rd 1 |
367 | cdid rd 1 |
||
465 | serge | 368 | |
1055 | Galkov | 369 | hdbase rd 1 ; for boot 0x1f0 |
370 | hdid rd 1 |
||
371 | hdpos rd 1 ; for boot 0x1 |
||
372 | fat32part rd 1 ; for boot 0x1 |
||
373 | cdpos rd 1 |
||
465 | serge | 374 | |
375 | ;CPUID information |
||
1055 | Galkov | 376 | cpu_vendor rd 3 |
377 | cpu_sign rd 1 |
||
378 | cpu_info rd 1 |
||
379 | cpu_caps rd 4 |
||
465 | serge | 380 | |
381 | |||
1055 | Galkov | 382 | pg_data PG_DATA |
383 | heap_test rd 1 |
||
465 | serge | 384 | |
1055 | Galkov | 385 | buttontype rd 1 |
465 | serge | 386 | windowtypechanged rd 1 |
387 | |||
1055 | Galkov | 388 | hd_entries rd 1 ;unused ? 0xfe10 |
465 | serge | 389 | |
390 | ;* start code - Mario79 |
||
391 | |||
1055 | Galkov | 392 | mouse_active rd 1 |
393 | mouse_pause rd 1 |
||
465 | serge | 394 | MouseTickCounter rd 1 |
769 | Rus | 395 | |
465 | serge | 396 | ;* end code - Mario79 |
397 | |||
1055 | Galkov | 398 | img_background rd 1 |
399 | mem_BACKGROUND rd 1 |
||
1107 | diamond | 400 | static_background_data rd 1 |
465 | serge | 401 | |
709 | diamond | 402 | cache_ide0: |
1055 | Galkov | 403 | cache_ide0_pointer rd 1 |
404 | cache_ide0_size rd 1 ; not use |
||
580 | mario79 | 405 | cache_ide0_data_pointer rd 1 |
406 | cache_ide0_system_data_size rd 1 ; not use |
||
407 | cache_ide0_appl_data_size rd 1 ; not use |
||
1055 | Galkov | 408 | cache_ide0_system_data rd 1 |
409 | cache_ide0_appl_data rd 1 |
||
580 | mario79 | 410 | cache_ide0_system_sad_size rd 1 |
411 | cache_ide0_appl_sad_size rd 1 |
||
412 | cache_ide0_search_start rd 1 |
||
413 | cache_ide0_appl_search_start rd 1 |
||
414 | |||
709 | diamond | 415 | cache_ide1: |
1055 | Galkov | 416 | cache_ide1_pointer rd 1 |
417 | cache_ide1_size rd 1 ; not use |
||
580 | mario79 | 418 | cache_ide1_data_pointer rd 1 |
419 | cache_ide1_system_data_size rd 1 ; not use |
||
420 | cache_ide1_appl_data_size rd 1 ; not use |
||
1055 | Galkov | 421 | cache_ide1_system_data rd 1 |
422 | cache_ide1_appl_data rd 1 |
||
580 | mario79 | 423 | cache_ide1_system_sad_size rd 1 |
424 | cache_ide1_appl_sad_size rd 1 |
||
425 | cache_ide1_search_start rd 1 |
||
426 | cache_ide1_appl_search_start rd 1 |
||
427 | |||
709 | diamond | 428 | cache_ide2: |
1055 | Galkov | 429 | cache_ide2_pointer rd 1 |
430 | cache_ide2_size rd 1 ; not use |
||
580 | mario79 | 431 | cache_ide2_data_pointer rd 1 |
432 | cache_ide2_system_data_size rd 1 ; not use |
||
433 | cache_ide2_appl_data_size rd 1 ; not use |
||
1055 | Galkov | 434 | cache_ide2_system_data rd 1 |
435 | cache_ide2_appl_data rd 1 |
||
580 | mario79 | 436 | cache_ide2_system_sad_size rd 1 |
437 | cache_ide2_appl_sad_size rd 1 |
||
438 | cache_ide2_search_start rd 1 |
||
439 | cache_ide2_appl_search_start rd 1 |
||
440 | |||
709 | diamond | 441 | cache_ide3: |
1055 | Galkov | 442 | cache_ide3_pointer rd 1 |
443 | cache_ide3_size rd 1 ; not use |
||
580 | mario79 | 444 | cache_ide3_data_pointer rd 1 |
445 | cache_ide3_system_data_size rd 1 ; not use |
||
446 | cache_ide3_appl_data_size rd 1 ; not use |
||
1055 | Galkov | 447 | cache_ide3_system_data rd 1 |
448 | cache_ide3_appl_data rd 1 |
||
580 | mario79 | 449 | cache_ide3_system_sad_size rd 1 |
450 | cache_ide3_appl_sad_size rd 1 |
||
451 | cache_ide3_search_start rd 1 |
||
452 | cache_ide3_appl_search_start rd 1 |
||
453 | |||
454 | debug_step_pointer rd 1 |
||
455 | hdd_appl_data rb 1 ; 0 = system cache, 1 - application cache |
||
585 | mario79 | 456 | cd_appl_data rb 1 ; 0 = system cache, 1 - application cache |
580 | mario79 | 457 | |
465 | serge | 458 | lba_read_enabled rd 1 ; 0 = disabled , 1 = enabled |
459 | pci_access_enabled rd 1 ; 0 = disabled , 1 = enabled |
||
1055 | Galkov | 460 | timer_ticks_enable rb 1 ; for cd driver |
465 | serge | 461 | |
1055 | Galkov | 462 | NumBiosDisks rd 1 |
463 | BiosDisksData rb 200h |
||
464 | BiosDiskCaches rb 80h*(cache_ide1-cache_ide0) |
||
709 | diamond | 465 | BiosDiskPartitions rd 80h |
466 | |||
465 | serge | 467 | IncludeUGlobals> |