Subversion Repositories Kolibri OS

Rev

Rev 849 | Rev 854 | Go to most recent revision | Details | Compare with Previous | Last modification | View Log | RSS feed

Rev Author Line No. Line
750 victor 1
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
2
;;                                                              ;;
3
;; Copyright (C) KolibriOS team 2004-2007. All rights reserved. ;;
4
;; Distributed under terms of the GNU General Public License    ;;
5
;;                                                              ;;
6
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
593 mikedld 7
 
465 serge 8
$Revision: 851 $
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
 
764 Rus 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
66
  boot_pal_ega	    db	 'Setting EGA/CGA 320x200 palette',0
67
  boot_pal_vga	    db	 'Setting VGA 640x480 palette',0
68
  boot_failed	    db	 'Failed to start first app',0
69
  boot_mtrr	    db	 'Setting MTRR',0
847 serge 70
;if preboot_blogesc
71
;  boot_tasking      db   'All set - press ESC to start',0
72
;end if
465 serge 73
 
74
new_process_loading db 'K : New Process - loading',13,10,0
75
new_process_running db 'K : New Process - done',13,10,0
76
start_not_enough_memory db 'K : New Process - not enough memory',13,10,0
77
 
78
msg_unresolved db 'unresolved ',0
79
msg_module     db 'in module ',0
80
msg_version    db 'incompatible driver version',13,10,0
81
msg_www        db 'please visit www.kolibrios.org',13,10,0
764 Rus 82
msg_CR	       db  13,10,0
465 serge 83
 
84
intel_str      db "GenuineIntel",0
85
AMD_str        db "AuthenticAMD",0
86
 
87
;szSound        db 'SOUND',0
88
;szInfinity     db 'INFINITY',0
764 Rus 89
szHwMouse	db 'ATI2D',0
90
szPS2MDriver	db 'PS2MOUSE',0
769 Rus 91
szCOM_MDriver	db 'COM_MOUSE',0
764 Rus 92
szUSB		db 'USB',0
802 serge 93
szAtiHW         db '/rd/1/drivers/ati2d.drv',0
465 serge 94
 
95
szSTART        db 'START',0
96
szEXPORTS      db 'EXPORTS',0
97
szIMPORTS      db 'IMPORTS',0
98
 
543 spraid 99
read_firstapp  db '/sys/'
521 diamond 100
firstapp       db  'LAUNCHER',0
488 spraid 101
 
848 serge 102
char    db '/rd/1/FONTS/CHAR.MT',0
103
char2   db '/rd/1/FONTS/CHAR2.MT',0
488 spraid 104
 
465 serge 105
bootpath       db  '/KOLIBRI    '
106
bootpath2      db  0
764 Rus 107
vmode	       db  '/sys/drivers/VMODE.MDR',0
108
vrr_m	       db  'VRR_M',0
465 serge 109
kernel_file    db  'KERNEL  MNT'
110
 
753 serge 111
align 4
841 serge 112
 
843 serge 113
_pg_balloc     dd LAST_PAGE
841 serge 114
 
115
                     ;supported videomodes
753 serge 116
mode_1280_1024_32:
117
  dw 1280,1024,32,60
118
mode_1280_1024_24:
119
  dw 1280,1024,24,60
120
mode_1024_768_32:
121
  dw 1024,768,32,60
122
mode_1024_768_24:
123
  dw 1024,768,24,60
754 Lrz 124
mode_800_600_32:
753 serge 125
  dw 800,600,32,60
754 Lrz 126
mode_800_600_24:
753 serge 127
  dw 800,600,24,60
754 Lrz 128
mode_640_480_32:
753 serge 129
  dw 640,480,32,60
754 Lrz 130
mode_640_480_24:
753 serge 131
  dw 640,480,24,60
754 Lrz 132
mode_640_480_16:
753 serge 133
  dw 640,480,16,60
754 Lrz 134
mode_320_240_8:
753 serge 135
  dw 320,240,8,60
465 serge 136
 
847 serge 137
 
848 serge 138
;bx_from_load:     dw 'r1'  ; структура для хранения параметров- откуда гашрузились, берется ниже из bx ; {SPraid}[13.03.2007]
139
;                           ; a,b,c,d - винчестеры, r - рам диск
140
;                           ; # диска... символ, а не байт. '1', а не 1
847 serge 141
 
142
 
143
 
465 serge 144
; mike.dld {
145
db 0
146
dd servetable-0x10000
764 Rus 147
draw_line	dd __sys_draw_line
148
disable_mouse	dd __sys_disable_mouse
149
draw_pointer	dd __sys_draw_pointer
465 serge 150
;//mike.dld, 2006-08-02 [
151
;drawbar         dd __sys_drawbar
764 Rus 152
drawbar 	dd __sys_drawbar.forced
465 serge 153
;//mike.dld, 2006-08-02 ]
764 Rus 154
putpixel	dd __sys_putpixel
465 serge 155
; } mike.dld
156
 
157
 
158
align 4
159
keyboard   dd 1
160
syslang    dd 1
161
 
764 Rus 162
boot_y	   dd 10
465 serge 163
 
764 Rus 164
pci_bios_entry	dd 0
165
		dw pci_code_sel
465 serge 166
 
167
if __DEBUG__ eq 1
168
  include_debug_strings
169
end if
170
 
171
IncludeIGlobals
172
 
173
align 16
851 serge 174
_gdts:
465 serge 175
 
851 serge 176
        dw     0x67; gdte-$-1
177
        dd     _gdts
764 Rus 178
	dw     0
465 serge 179
 
525 diamond 180
; Attention! Do not change the order of the first four selectors. They are used in Fast System Call
465 serge 181
; must be : os_code, os_data, app_code, app_data, ....
182
 
183
int_code_l:
184
os_code_l:
764 Rus 185
	dw     0xffff
186
	dw     0x0000
187
	db     0x00
188
	dw     11011111b *256 +10011010b
189
	db     0x00
465 serge 190
 
191
int_data_l:
192
os_data_l:
764 Rus 193
	dw     0xffff
194
	dw     0x0000
195
	db     0x00
196
	dw     11011111b *256 +10010010b
197
	db     0x00
465 serge 198
 
199
app_code_l:
764 Rus 200
	dw 0xFFFF
201
	dw 0
202
	db 0
203
	db cpl3
840 serge 204
        dw G32+D32+0xF;
465 serge 205
 
206
app_data_l:
764 Rus 207
	dw 0xFFFF
208
	dw 0
209
	db 0
210
	db drw3
840 serge 211
        dw G32+D32+0xF;
465 serge 212
 
586 serge 213
; ------------- PCI BIOS ------------------
214
 
215
pci_code_32:
764 Rus 216
	dw 0	     ;lim  0-15
217
	dw 0	     ;base 0-15
218
	db 0	     ;base 16-23
219
	db cpl0      ;type
220
	db D32	     ;lim 16-19+props
221
	db 0	     ;base 24-31
586 serge 222
 
223
pci_data_32:
764 Rus 224
	dw 0	     ;lim  0-15
225
	dw 0	     ;base 0-15
226
	db 0	     ;base 16-23
227
	db dpl0      ;type
228
	db D32	     ;lim 16-19+props
229
	db 0	     ;base 24-31
586 serge 230
 
465 serge 231
; --------------- APM ---------------------
232
apm_code_32:
764 Rus 233
	dw     0x0f	   ; limit 64kb
234
	db     0, 0, 0
235
	dw     11010000b *256 +10011010b
236
	db     0x00
465 serge 237
apm_code_16:
764 Rus 238
	dw     0x0f
239
	db     0, 0, 0
240
	dw     10010000b *256 +10011010b
241
	db     0x00
465 serge 242
apm_data_16:
764 Rus 243
	dw     0x0f
244
	db     0, 0, 0
245
	dw     10010000b *256 +10010010b
246
	db     0x00
465 serge 247
; -----------------------------------------
248
 
249
graph_data_l:
250
 
764 Rus 251
	dw     0x7ff
252
	dw     0x0000
253
	db     0x00
254
	dw     11010000b *256 +11110010b
255
	db     0x00
465 serge 256
tss0_l:
764 Rus 257
	dw     TSS_SIZE-1
258
	dw     tss and 0xFFFF
259
	db     (tss shr 16) and 0xFF
260
	db     10001001b
261
	dw     (tss shr 16) and 0xFF00
848 serge 262
 
263
code_16:
264
        dw 0xFFFF
265
        dw 0
266
        db 1
267
        db cpl0
268
        dw 0
269
 
465 serge 270
endofcode:
271
gdte:
849 serge 272
edata:  ;equ $-OS_BASE
847 serge 273
 
849 serge 274
section '.bss' code readable align 4096
275
 
276
org edata
277
 
847 serge 278
align 4096
279
 
848 serge 280
_sys_pdbr   rd 1024
847 serge 281
 
282
            rb 8192-512
283
 
284
__os_stack  rb 512
285
 
764 Rus 286
cur_saved_data	  rb 4096
287
fpu_data:	  rb 512
465 serge 288
 
289
; device irq owners
764 Rus 290
irq_owner	  rd 16 ; process id
465 serge 291
 
292
; on irq read ports
293
 
764 Rus 294
irq00read	  rd 16
295
irq01read	  rd 16
296
irq02read	  rd 16
297
irq03read	  rd 16
298
irq04read	  rd 16
299
irq05read	  rd 16
300
irq06read	  rd 16
301
irq07read	  rd 16
302
irq08read	  rd 16
303
irq09read	  rd 16
304
irq10read	  rd 16
305
irq11read	  rd 16
306
irq12read	  rd 16
307
irq13read	  rd 16
308
irq14read	  rd 16
309
irq15read	  rd 16
465 serge 310
 
764 Rus 311
irq_tab 	  rd 16
465 serge 312
 
846 serge 313
_z_core           rd 52
314
 
764 Rus 315
mem_block_map	  rb 512
846 serge 316
 
764 Rus 317
event_map	  rb 64
318
mem_block_list	  rd 64
802 serge 319
large_block_list  rd 31
764 Rus 320
mem_block_mask	  rd 2
802 serge 321
large_block_mask  rd 1
465 serge 322
 
847 serge 323
 
324
_boot_mbi         rd 1
325
 
846 serge 326
_mem_amount       rd 1
327
_rd_base          rd 1
328
_rd_fat           rd 1 ;RAMDISK + 512
329
_rd_fat_end       rd 1 ;RAMDISK + 512 + 4278
330
_rd_root          rd 1 ;RAMDISK + 512*18 + 512
331
_rd_root_end      rd 1 ;RAMDISK + 512*33
843 serge 332
 
764 Rus 333
mem_used.fd	  rd 1
334
mem_used.bk	  rd 1
465 serge 335
 
764 Rus 336
mem_block_arr	  rd 1
465 serge 337
mem_block_start   rd 1
764 Rus 338
mem_block_end	  rd 1
465 serge 339
 
764 Rus 340
heap_mutex	  rd 1
341
heap_size	  rd 1
342
heap_free	  rd 1
343
heap_blocks	  rd 1
344
free_blocks	  rd 1
465 serge 345
 
346
mst MEM_STATE
347
 
764 Rus 348
page_start	  rd 1
349
page_end	  rd 1
350
events		  rd 1
351
event_start	  rd 1
352
event_end	  rd 1
353
event_uid	  rd 1
354
sys_page_map	  rd 1
465 serge 355
 
764 Rus 356
srv.fd		  rd 1
357
srv.bk		  rd 1
465 serge 358
 
764 Rus 359
scr_width	  rd 1
360
scr_height	  rd 1
465 serge 361
 
764 Rus 362
create_cursor	  rd 1
630 serge 363
select_hw_cursor  rd 1
764 Rus 364
set_hw_cursor	  rd 1
365
hw_restore	  rd 1
465 serge 366
 
764 Rus 367
def_cursor	  rd 1
368
current_cursor	  rd 1
369
hw_cursor	  rd 1
370
cur_def_interl	  rd 1
371
cur_saved_base	  rd 1
465 serge 372
cur_saved_interl  rd 1
764 Rus 373
cur_saved_w	  rd 1
374
cur_saved_h	  rd 1
465 serge 375
 
764 Rus 376
ipc_tmp 	  rd 1
377
ipc_pdir	  rd 1
378
ipc_ptab	  rd 1
465 serge 379
 
764 Rus 380
proc_mem_map	  rd 1
381
proc_mem_pdir	  rd 1
382
proc_mem_tab	  rd 1
465 serge 383
 
764 Rus 384
tmp_task_pdir	  rd 1
385
tmp_task_ptab	  rd 1
465 serge 386
 
764 Rus 387
default_io_map	  rd 1
465 serge 388
 
764 Rus 389
LFBSize 	  rd 1
465 serge 390
 
764 Rus 391
stall_mcs	  rd 1
392
current_slot	  rd 1
465 serge 393
 
840 serge 394
_display_data     rd 1
395
 
465 serge 396
; status
764 Rus 397
hd1_status		    rd 1  ; 0 - free : other - pid
465 serge 398
application_table_status    rd 1  ; 0 - free : other - pid
399
 
400
; device addresses
764 Rus 401
mididp		  rd 1
402
midisp		  rd 1
465 serge 403
 
764 Rus 404
cdbase		  rd 1
405
cdid		  rd 1
465 serge 406
 
764 Rus 407
hdbase		  rd 1	  ; for boot 0x1f0
408
hdid		  rd 1
409
hdpos		  rd 1	  ; for boot 0x1
410
fat32part	  rd 1	  ; for boot 0x1
411
cdpos		  rd 1
465 serge 412
 
413
;CPUID information
764 Rus 414
cpu_vendor	  rd 3
415
cpu_sign	  rd 1
416
cpu_info	  rd 1
417
cpu_caps	  rd 4
465 serge 418
 
419
 
764 Rus 420
pg_data 	  PG_DATA
421
heap_test	  rd 1
465 serge 422
 
764 Rus 423
buttontype	  rd 1
465 serge 424
windowtypechanged rd 1
425
 
764 Rus 426
hd_entries	  rd 1	   ;unused ? 0xfe10
465 serge 427
 
428
;* start code - Mario79
429
 
764 Rus 430
mouse_active	      rd 1
431
mouse_pause	      rd 1
465 serge 432
MouseTickCounter      rd 1
769 Rus 433
 
465 serge 434
;* end code - Mario79
435
 
764 Rus 436
img_background	      rd 1
437
mem_BACKGROUND	      rd 1
465 serge 438
wraw_bacground_select rb 1
439
 
709 diamond 440
cache_ide0:
764 Rus 441
cache_ide0_pointer	      rd 1
442
cache_ide0_size 	      rd 1   ; not use
580 mario79 443
cache_ide0_data_pointer       rd 1
444
cache_ide0_system_data_size   rd 1   ; not use
445
cache_ide0_appl_data_size     rd 1   ; not use
764 Rus 446
cache_ide0_system_data	      rd 1
447
cache_ide0_appl_data	      rd 1
580 mario79 448
cache_ide0_system_sad_size    rd 1
449
cache_ide0_appl_sad_size      rd 1
450
cache_ide0_search_start       rd 1
451
cache_ide0_appl_search_start  rd 1
452
 
709 diamond 453
cache_ide1:
764 Rus 454
cache_ide1_pointer	      rd 1
455
cache_ide1_size 	      rd 1   ; not use
580 mario79 456
cache_ide1_data_pointer       rd 1
457
cache_ide1_system_data_size   rd 1   ; not use
458
cache_ide1_appl_data_size     rd 1   ; not use
764 Rus 459
cache_ide1_system_data	      rd 1
460
cache_ide1_appl_data	      rd 1
580 mario79 461
cache_ide1_system_sad_size    rd 1
462
cache_ide1_appl_sad_size      rd 1
463
cache_ide1_search_start       rd 1
464
cache_ide1_appl_search_start  rd 1
465
 
709 diamond 466
cache_ide2:
764 Rus 467
cache_ide2_pointer	      rd 1
468
cache_ide2_size 	      rd 1   ; not use
580 mario79 469
cache_ide2_data_pointer       rd 1
470
cache_ide2_system_data_size   rd 1   ; not use
471
cache_ide2_appl_data_size     rd 1   ; not use
764 Rus 472
cache_ide2_system_data	      rd 1
473
cache_ide2_appl_data	      rd 1
580 mario79 474
cache_ide2_system_sad_size    rd 1
475
cache_ide2_appl_sad_size      rd 1
476
cache_ide2_search_start       rd 1
477
cache_ide2_appl_search_start  rd 1
478
 
709 diamond 479
cache_ide3:
764 Rus 480
cache_ide3_pointer	      rd 1
481
cache_ide3_size 	      rd 1   ; not use
580 mario79 482
cache_ide3_data_pointer       rd 1
483
cache_ide3_system_data_size   rd 1   ; not use
484
cache_ide3_appl_data_size     rd 1   ; not use
764 Rus 485
cache_ide3_system_data	      rd 1
486
cache_ide3_appl_data	      rd 1
580 mario79 487
cache_ide3_system_sad_size    rd 1
488
cache_ide3_appl_sad_size      rd 1
489
cache_ide3_search_start       rd 1
490
cache_ide3_appl_search_start  rd 1
491
 
492
debug_step_pointer rd 1
493
hdd_appl_data rb 1 ; 0 = system cache, 1 - application cache
585 mario79 494
cd_appl_data rb 1 ; 0 = system cache, 1 - application cache
580 mario79 495
 
465 serge 496
lba_read_enabled      rd 1  ; 0 = disabled , 1 = enabled
497
pci_access_enabled    rd 1  ; 0 = disabled , 1 = enabled
764 Rus 498
timer_ticks_enable rb 1 	; for cd driver
465 serge 499
 
764 Rus 500
NumBiosDisks	rd 1
501
BiosDisksData	rb 200h
502
BiosDiskCaches	rb 80h*(cache_ide1-cache_ide0)
709 diamond 503
BiosDiskPartitions rd 80h
504
 
465 serge 505
IncludeUGlobals
506