Subversion Repositories Kolibri OS

Rev

Rev 908 | Rev 996 | 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: 928 $
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
 
85
;szSound        db 'SOUND',0
86
;szInfinity     db 'INFINITY',0
764 Rus 87
szHwMouse	db 'ATI2D',0
88
szPS2MDriver	db 'PS2MOUSE',0
769 Rus 89
szCOM_MDriver	db 'COM_MOUSE',0
764 Rus 90
szUSB		db 'USB',0
802 serge 91
szAtiHW         db '/rd/1/drivers/ati2d.drv',0
465 serge 92
 
93
szSTART        db 'START',0
94
szEXPORTS      db 'EXPORTS',0
95
szIMPORTS      db 'IMPORTS',0
96
 
543 spraid 97
read_firstapp  db '/sys/'
908 serge 98
firstapp       db  '@DESKTOP',0
488 spraid 99
 
848 serge 100
char    db '/rd/1/FONTS/CHAR.MT',0
101
char2   db '/rd/1/FONTS/CHAR2.MT',0
488 spraid 102
 
465 serge 103
bootpath       db  '/KOLIBRI    '
104
bootpath2      db  0
764 Rus 105
vmode	       db  '/sys/drivers/VMODE.MDR',0
106
vrr_m	       db  'VRR_M',0
465 serge 107
kernel_file    db  'KERNEL  MNT'
108
 
841 serge 109
 
110
                     ;supported videomodes
753 serge 111
mode_1280_1024_32:
112
  dw 1280,1024,32,60
113
mode_1280_1024_24:
114
  dw 1280,1024,24,60
115
mode_1024_768_32:
116
  dw 1024,768,32,60
117
mode_1024_768_24:
118
  dw 1024,768,24,60
754 Lrz 119
mode_800_600_32:
753 serge 120
  dw 800,600,32,60
754 Lrz 121
mode_800_600_24:
753 serge 122
  dw 800,600,24,60
754 Lrz 123
mode_640_480_32:
753 serge 124
  dw 640,480,32,60
754 Lrz 125
mode_640_480_24:
753 serge 126
  dw 640,480,24,60
754 Lrz 127
mode_640_480_16:
753 serge 128
  dw 640,480,16,60
754 Lrz 129
mode_320_240_8:
753 serge 130
  dw 320,240,8,60
465 serge 131
 
847 serge 132
 
848 serge 133
;bx_from_load:     dw 'r1'  ; структура для хранения параметров- откуда гашрузились, берется ниже из bx ; {SPraid}[13.03.2007]
134
;                           ; a,b,c,d - винчестеры, r - рам диск
135
;                           ; # диска... символ, а не байт. '1', а не 1
847 serge 136
 
137
 
138
 
465 serge 139
; mike.dld {
140
db 0
141
dd servetable-0x10000
764 Rus 142
draw_line	dd __sys_draw_line
143
disable_mouse	dd __sys_disable_mouse
144
draw_pointer	dd __sys_draw_pointer
465 serge 145
;//mike.dld, 2006-08-02 [
146
;drawbar         dd __sys_drawbar
764 Rus 147
drawbar 	dd __sys_drawbar.forced
465 serge 148
;//mike.dld, 2006-08-02 ]
764 Rus 149
putpixel	dd __sys_putpixel
465 serge 150
; } mike.dld
151
 
152
 
153
align 4
154
keyboard   dd 1
155
syslang    dd 1
156
 
764 Rus 157
boot_y	   dd 10
465 serge 158
 
764 Rus 159
pci_bios_entry	dd 0
928 serge 160
           dw sel_pci_code
465 serge 161
 
162
if __DEBUG__ eq 1
163
  include_debug_strings
164
end if
165
 
166
IncludeIGlobals
167
 
168
align 16
851 serge 169
_gdts:
465 serge 170
 
928 serge 171
    dw     (gdte - _gdts -1)
172
    dd     _gdts
764 Rus 173
	dw     0
465 serge 174
 
928 serge 175
tss_l:
176
	dw     TSS_SIZE-1
177
	dw     tss and 0xFFFF
178
	db     (tss shr 16) and 0xFF
179
	db     10001001b
180
	dw     (tss shr 16) and 0xFF00
181
 
525 diamond 182
; Attention! Do not change the order of the first four selectors. They are used in Fast System Call
465 serge 183
; must be : os_code, os_data, app_code, app_data, ....
184
 
928 serge 185
os_code_l:                            ;0x10
764 Rus 186
	dw     0xffff
187
	dw     0x0000
188
	db     0x00
189
	dw     11011111b *256 +10011010b
190
	db     0x00
465 serge 191
 
928 serge 192
os_stacK_l:                           ;0x18
764 Rus 193
	dw     0xffff
194
	dw     0x0000
195
	db     0x00
196
	dw     11011111b *256 +10010010b
197
	db     0x00
465 serge 198
 
928 serge 199
app_code_l:                           ;0x20
200
    dw     0xFFFF
201
    dw     0
202
    db     0
203
    db     cpl3
204
    dw     G32+D32+0xF;
465 serge 205
 
928 serge 206
app_data_l:                           ;0x28
207
    dw     0xFFFF
208
    dw     0
209
    db     0
210
    db     drw3
211
    dw     G32+D32+0xF;
465 serge 212
 
928 serge 213
srv_code_l:                           ;0x30
214
    dw     0xFFFF
215
    dw     0
216
    db     0
217
    db     cpl1
218
    dw     G32+D32+0xF;
219
 
220
srv_stack_l:                          ;0x38
221
    dw     0xFFFF
222
    dw     0
223
    db     0
224
    db     drw1
225
    dw     G32+D32+0xF;
226
 
586 serge 227
; ------------- PCI BIOS ------------------
228
 
229
pci_code_32:
764 Rus 230
	dw 0	     ;lim  0-15
231
	dw 0	     ;base 0-15
232
	db 0	     ;base 16-23
233
	db cpl0      ;type
234
	db D32	     ;lim 16-19+props
235
	db 0	     ;base 24-31
586 serge 236
 
237
pci_data_32:
764 Rus 238
	dw 0	     ;lim  0-15
239
	dw 0	     ;base 0-15
240
	db 0	     ;base 16-23
241
	db dpl0      ;type
242
	db D32	     ;lim 16-19+props
243
	db 0	     ;base 24-31
586 serge 244
 
465 serge 245
; --------------- APM ---------------------
246
apm_code_32:
764 Rus 247
	dw     0x0f	   ; limit 64kb
248
	db     0, 0, 0
249
	dw     11010000b *256 +10011010b
250
	db     0x00
465 serge 251
apm_code_16:
764 Rus 252
	dw     0x0f
253
	db     0, 0, 0
254
	dw     10010000b *256 +10011010b
255
	db     0x00
465 serge 256
apm_data_16:
764 Rus 257
	dw     0x0f
258
	db     0, 0, 0
259
	dw     10010000b *256 +10010010b
260
	db     0x00
465 serge 261
; -----------------------------------------
262
 
263
graph_data_l:
264
 
764 Rus 265
	dw     0x7ff
266
	dw     0x0000
267
	db     0x00
268
	dw     11010000b *256 +11110010b
269
	db     0x00
848 serge 270
 
928 serge 271
code_16_l:
272
    dw 0xFFFF
273
    dw 0
274
    db 1
275
    db cpl0
276
    dw 0
848 serge 277
 
465 serge 278
endofcode:
279
gdte:
847 serge 280
 
854 serge 281
section '.bss' data writeable align 4096
849 serge 282
 
847 serge 283
align 4096
284
 
928 serge 285
_sys_pdbr       rd 1024
847 serge 286
 
287
 
928 serge 288
cur_saved_data  rb 4096
847 serge 289
 
928 serge 290
fpu_data:       rb 512
465 serge 291
 
928 serge 292
idts              rq 0x42
854 serge 293
 
465 serge 294
; device irq owners
764 Rus 295
irq_owner	  rd 16 ; process id
465 serge 296
 
297
; on irq read ports
298
 
764 Rus 299
irq00read	  rd 16
300
irq01read	  rd 16
301
irq02read	  rd 16
302
irq03read	  rd 16
303
irq04read	  rd 16
304
irq05read	  rd 16
305
irq06read	  rd 16
306
irq07read	  rd 16
307
irq08read	  rd 16
308
irq09read	  rd 16
309
irq10read	  rd 16
310
irq11read	  rd 16
311
irq12read	  rd 16
312
irq13read	  rd 16
313
irq14read	  rd 16
314
irq15read	  rd 16
465 serge 315
 
764 Rus 316
irq_tab 	  rd 16
465 serge 317
 
928 serge 318
FONT_I        rb 2304    ;16*144
319
FONT_II       rb 2560    ;16*160
320
 
846 serge 321
_z_core           rd 52
322
 
764 Rus 323
mem_block_map	  rb 512
846 serge 324
 
928 serge 325
event_map         rb 64
764 Rus 326
mem_block_list	  rd 64
802 serge 327
large_block_list  rd 31
764 Rus 328
mem_block_mask	  rd 2
802 serge 329
large_block_mask  rd 1
465 serge 330
 
847 serge 331
 
332
_boot_mbi         rd 1
333
 
846 serge 334
_mem_amount       rd 1
335
_rd_base          rd 1
336
_rd_fat           rd 1 ;RAMDISK + 512
337
_rd_fat_end       rd 1 ;RAMDISK + 512 + 4278
338
_rd_root          rd 1 ;RAMDISK + 512*18 + 512
339
_rd_root_end      rd 1 ;RAMDISK + 512*33
843 serge 340
 
928 serge 341
heap_mutex        rd 1
342
heap_size         rd 1
343
heap_free         rd 1
344
heap_blocks       rd 1
345
free_blocks       rd 1
465 serge 346
 
347
mst MEM_STATE
348
 
890 serge 349
page_start        rd 1
350
page_end          rd 1
351
events            rd 1
352
event_start       rd 1
353
event_end         rd 1
354
event_uid         rd 1
355
sys_page_map      rd 1
465 serge 356
 
890 serge 357
srv.fd            rd 1
358
srv.bk            rd 1
465 serge 359
 
890 serge 360
scr_width         rd 1
361
scr_height        rd 1
465 serge 362
 
890 serge 363
_HwCursorCreate:
764 Rus 364
create_cursor	  rd 1
890 serge 365
 
366
_SelectHwCursor:
630 serge 367
select_hw_cursor  rd 1
890 serge 368
 
369
_SetHwCursor:
764 Rus 370
set_hw_cursor	  rd 1
465 serge 371
 
890 serge 372
_HwCursorRestore:
373
hw_restore        rd 1
374
 
375
def_cursor        rd 1
764 Rus 376
current_cursor	  rd 1
890 serge 377
hw_cursor         rd 1
764 Rus 378
cur_def_interl	  rd 1
379
cur_saved_base	  rd 1
465 serge 380
cur_saved_interl  rd 1
890 serge 381
cur_saved_w       rd 1
382
cur_saved_h       rd 1
465 serge 383
 
890 serge 384
ipc_tmp           rd 1
385
ipc_pdir          rd 1
386
ipc_ptab          rd 1
465 serge 387
 
764 Rus 388
proc_mem_map	  rd 1
389
proc_mem_pdir	  rd 1
390
proc_mem_tab	  rd 1
465 serge 391
 
764 Rus 392
tmp_task_pdir	  rd 1
393
tmp_task_ptab	  rd 1
465 serge 394
 
764 Rus 395
default_io_map	  rd 1
465 serge 396
 
397
 
928 serge 398
stall_mcs         rd 1
908 serge 399
 
400
_current_slot:
764 Rus 401
current_slot	  rd 1
465 serge 402
 
840 serge 403
_display_data     rd 1
404
 
928 serge 405
_current_thread   rd 1
406
_k_reenter        rd 1
407
 
408
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
409
 
410
scr_mode          rd 1
411
 
412
LFBAddress        rd 1
413
LFBSize           rd 1       ;8Mb hardcoded
414
ScreenBPP         rd 1
415
BytesPerScanLine  rd 1
416
 
417
put_pixel         rd 1
418
get_pixel         rd 1
419
 
420
Screen_Max_X      rd 1
421
Screen_Max_Y      rd 1
422
 
423
btn_addr          rd 1
424
 
425
redraw_background rd 1
426
mouse_background  rd 1
427
dont_draw_mouse   rd 1
428
 
429
MOUSE_VISIBLE     rd 1
430
WIN_TEMP_XY       rd 1
431
MOUSE_X           rw 1
432
MOUSE_Y           rw 1
433
mouse_scroll_v    rd 1
434
mouse_scroll_h    rd 1
435
 
436
BTN_COUNT         rd 1
437
BTN_BUFF          rd 1
438
 
439
KEY_COUNT         rd 1
440
KEY_BUFF          rb 128
441
 
442
 
443
mouse_color_mem   rd 1
444
color_temp        rd 1
445
btn_down          rd 1
446
x_under           rd 1
447
y_under           rd 1
448
 
449
dont_switch       rd 1
450
 
451
sys_shutdown      rd 1
452
 
453
bank_rw           rd 1
454
 
455
CPU_FREQ          rd 1
456
 
457
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
465 serge 458
; status
764 Rus 459
hd1_status		    rd 1  ; 0 - free : other - pid
465 serge 460
application_table_status    rd 1  ; 0 - free : other - pid
461
 
462
; device addresses
928 serge 463
mididp            rd 1
464
midisp            rd 1
465 serge 465
 
928 serge 466
cdbase            rd 1
467
cdid              rd 1
465 serge 468
 
928 serge 469
hdbase            rd 1    ; for boot 0x1f0
470
hdid              rd 1
471
hdpos             rd 1    ; for boot 0x1
472
fat32part         rd 1    ; for boot 0x1
473
cdpos             rd 1
465 serge 474
 
475
 
476
 
928 serge 477
pg_data           PG_DATA
478
heap_test         rd 1
465 serge 479
 
928 serge 480
buttontype        rd 1
465 serge 481
windowtypechanged rd 1
482
 
928 serge 483
hd_entries        rd 1     ;unused ? 0xfe10
465 serge 484
 
485
;* start code - Mario79
486
 
764 Rus 487
mouse_active	      rd 1
928 serge 488
mouse_pause           rd 1
465 serge 489
MouseTickCounter      rd 1
769 Rus 490
 
465 serge 491
;* end code - Mario79
492
 
764 Rus 493
img_background	      rd 1
494
mem_BACKGROUND	      rd 1
465 serge 495
wraw_bacground_select rb 1
496
 
709 diamond 497
cache_ide0:
928 serge 498
cache_ide0_pointer            rd 1
499
cache_ide0_size               rd 1   ; not use
580 mario79 500
cache_ide0_data_pointer       rd 1
501
cache_ide0_system_data_size   rd 1   ; not use
502
cache_ide0_appl_data_size     rd 1   ; not use
764 Rus 503
cache_ide0_system_data	      rd 1
504
cache_ide0_appl_data	      rd 1
580 mario79 505
cache_ide0_system_sad_size    rd 1
506
cache_ide0_appl_sad_size      rd 1
507
cache_ide0_search_start       rd 1
508
cache_ide0_appl_search_start  rd 1
509
 
709 diamond 510
cache_ide1:
928 serge 511
cache_ide1_pointer            rd 1
512
cache_ide1_size               rd 1   ; not use
580 mario79 513
cache_ide1_data_pointer       rd 1
514
cache_ide1_system_data_size   rd 1   ; not use
515
cache_ide1_appl_data_size     rd 1   ; not use
764 Rus 516
cache_ide1_system_data	      rd 1
517
cache_ide1_appl_data	      rd 1
580 mario79 518
cache_ide1_system_sad_size    rd 1
519
cache_ide1_appl_sad_size      rd 1
520
cache_ide1_search_start       rd 1
521
cache_ide1_appl_search_start  rd 1
522
 
709 diamond 523
cache_ide2:
928 serge 524
cache_ide2_pointer            rd 1
525
cache_ide2_size               rd 1   ; not use
580 mario79 526
cache_ide2_data_pointer       rd 1
527
cache_ide2_system_data_size   rd 1   ; not use
528
cache_ide2_appl_data_size     rd 1   ; not use
764 Rus 529
cache_ide2_system_data	      rd 1
530
cache_ide2_appl_data	      rd 1
580 mario79 531
cache_ide2_system_sad_size    rd 1
532
cache_ide2_appl_sad_size      rd 1
533
cache_ide2_search_start       rd 1
534
cache_ide2_appl_search_start  rd 1
535
 
709 diamond 536
cache_ide3:
928 serge 537
cache_ide3_pointer            rd 1
538
cache_ide3_size               rd 1   ; not use
580 mario79 539
cache_ide3_data_pointer       rd 1
540
cache_ide3_system_data_size   rd 1   ; not use
541
cache_ide3_appl_data_size     rd 1   ; not use
764 Rus 542
cache_ide3_system_data	      rd 1
543
cache_ide3_appl_data	      rd 1
580 mario79 544
cache_ide3_system_sad_size    rd 1
545
cache_ide3_appl_sad_size      rd 1
546
cache_ide3_search_start       rd 1
547
cache_ide3_appl_search_start  rd 1
548
 
928 serge 549
debug_step_pointer            rd 1
580 mario79 550
 
928 serge 551
hdd_appl_data                 rb 1 ; 0 = system cache, 1 - application cache
552
cd_appl_data                  rb 1 ; 0 = system cache, 1 - application cache
465 serge 553
 
928 serge 554
align 4
555
lba_read_enabled              rd 1  ; 0 = disabled , 1 = enabled
556
pci_access_enabled            rd 1  ; 0 = disabled , 1 = enabled
557
timer_ticks_enable            rb 1     ; for cd driver
709 diamond 558
 
928 serge 559
align 4
560
NumBiosDisks                  rd 1
561
BiosDisksData                 rb 200h
562
BiosDiskCaches                rb 80h*(cache_ide1-cache_ide0)
563
BiosDiskPartitions            rd 80h
564
 
465 serge 565
IncludeUGlobals
566