Subversion Repositories Kolibri OS

Rev

Rev 996 | 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: 2971 $
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
2971 Serge 66
  boot_cpufreq      db   'CPU frequency is ','    ',' MHz',0
764 Rus 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
847 serge 71
;if preboot_blogesc
72
;  boot_tasking      db   'All set - press ESC to start',0
73
;end if
465 serge 74
 
2971 Serge 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
764 Rus 83
msg_CR	       db  13,10,0
2971 Serge 84
aSis           db 'SIS',0
465 serge 85
 
2971 Serge 86
intel_str      db "GenuineIntel",0
87
AMD_str        db "AuthenticAMD",0
465 serge 88
 
89
;szSound        db 'SOUND',0
90
;szInfinity     db 'INFINITY',0
764 Rus 91
szHwMouse	db 'ATI2D',0
92
szPS2MDriver	db 'PS2MOUSE',0
769 Rus 93
szCOM_MDriver	db 'COM_MOUSE',0
764 Rus 94
szUSB		db 'USB',0
802 serge 95
szAtiHW         db '/rd/1/drivers/ati2d.drv',0
465 serge 96
 
97
szSTART        db 'START',0
98
szEXPORTS      db 'EXPORTS',0
2971 Serge 99
sz_EXPORTS     db '_EXPORTS',0
100
 
465 serge 101
szIMPORTS      db 'IMPORTS',0
102
 
543 spraid 103
read_firstapp  db '/sys/'
908 serge 104
firstapp       db  '@DESKTOP',0
488 spraid 105
 
848 serge 106
char    db '/rd/1/FONTS/CHAR.MT',0
107
char2   db '/rd/1/FONTS/CHAR2.MT',0
488 spraid 108
 
465 serge 109
bootpath       db  '/KOLIBRI    '
110
bootpath2      db  0
764 Rus 111
vmode	       db  '/sys/drivers/VMODE.MDR',0
112
vrr_m	       db  'VRR_M',0
465 serge 113
kernel_file    db  'KERNEL  MNT'
114
 
841 serge 115
 
2971 Serge 116
align 4
117
 
118
shmem_list:
119
 .bk           dd shmem_list
120
 .fd           dd shmem_list
121
 
122
; supported videomodes
753 serge 123
mode_1280_1024_32:
124
  dw 1280,1024,32,60
125
mode_1280_1024_24:
126
  dw 1280,1024,24,60
127
mode_1024_768_32:
128
  dw 1024,768,32,60
129
mode_1024_768_24:
130
  dw 1024,768,24,60
754 Lrz 131
mode_800_600_32:
753 serge 132
  dw 800,600,32,60
754 Lrz 133
mode_800_600_24:
753 serge 134
  dw 800,600,24,60
754 Lrz 135
mode_640_480_32:
753 serge 136
  dw 640,480,32,60
754 Lrz 137
mode_640_480_24:
753 serge 138
  dw 640,480,24,60
754 Lrz 139
mode_640_480_16:
753 serge 140
  dw 640,480,16,60
754 Lrz 141
mode_320_240_8:
753 serge 142
  dw 320,240,8,60
465 serge 143
 
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
928 serge 165
           dw sel_pci_code
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
 
928 serge 176
    dw     (gdte - _gdts -1)
177
    dd     _gdts
764 Rus 178
	dw     0
465 serge 179
 
928 serge 180
tss_l:
181
	dw     TSS_SIZE-1
182
	dw     tss and 0xFFFF
183
	db     (tss shr 16) and 0xFF
184
	db     10001001b
185
	dw     (tss shr 16) and 0xFF00
186
 
525 diamond 187
; Attention! Do not change the order of the first four selectors. They are used in Fast System Call
465 serge 188
; must be : os_code, os_data, app_code, app_data, ....
189
 
928 serge 190
os_code_l:                            ;0x10
764 Rus 191
	dw     0xffff
192
	dw     0x0000
193
	db     0x00
194
	dw     11011111b *256 +10011010b
195
	db     0x00
465 serge 196
 
928 serge 197
os_stacK_l:                           ;0x18
764 Rus 198
	dw     0xffff
199
	dw     0x0000
200
	db     0x00
201
	dw     11011111b *256 +10010010b
202
	db     0x00
465 serge 203
 
928 serge 204
app_code_l:                           ;0x20
205
    dw     0xFFFF
206
    dw     0
207
    db     0
208
    db     cpl3
209
    dw     G32+D32+0xF;
465 serge 210
 
928 serge 211
app_data_l:                           ;0x28
212
    dw     0xFFFF
213
    dw     0
214
    db     0
215
    db     drw3
216
    dw     G32+D32+0xF;
465 serge 217
 
928 serge 218
srv_code_l:                           ;0x30
219
    dw     0xFFFF
220
    dw     0
221
    db     0
222
    db     cpl1
223
    dw     G32+D32+0xF;
224
 
225
srv_stack_l:                          ;0x38
226
    dw     0xFFFF
227
    dw     0
228
    db     0
229
    db     drw1
230
    dw     G32+D32+0xF;
231
 
586 serge 232
; ------------- PCI BIOS ------------------
233
 
234
pci_code_32:
764 Rus 235
	dw 0	     ;lim  0-15
236
	dw 0	     ;base 0-15
237
	db 0	     ;base 16-23
238
	db cpl0      ;type
239
	db D32	     ;lim 16-19+props
240
	db 0	     ;base 24-31
586 serge 241
 
242
pci_data_32:
764 Rus 243
	dw 0	     ;lim  0-15
244
	dw 0	     ;base 0-15
245
	db 0	     ;base 16-23
246
	db dpl0      ;type
247
	db D32	     ;lim 16-19+props
248
	db 0	     ;base 24-31
586 serge 249
 
465 serge 250
; --------------- APM ---------------------
251
apm_code_32:
764 Rus 252
	dw     0x0f	   ; limit 64kb
253
	db     0, 0, 0
254
	dw     11010000b *256 +10011010b
255
	db     0x00
465 serge 256
apm_code_16:
764 Rus 257
	dw     0x0f
258
	db     0, 0, 0
259
	dw     10010000b *256 +10011010b
260
	db     0x00
465 serge 261
apm_data_16:
764 Rus 262
	dw     0x0f
263
	db     0, 0, 0
264
	dw     10010000b *256 +10010010b
265
	db     0x00
465 serge 266
; -----------------------------------------
267
 
268
graph_data_l:
269
 
764 Rus 270
	dw     0x7ff
271
	dw     0x0000
272
	db     0x00
273
	dw     11010000b *256 +11110010b
274
	db     0x00
848 serge 275
 
928 serge 276
code_16_l:
277
    dw 0xFFFF
278
    dw 0
279
    db 1
280
    db cpl0
281
    dw 0
848 serge 282
 
465 serge 283
endofcode:
284
gdte:
847 serge 285
 
854 serge 286
section '.bss' data writeable align 4096
849 serge 287
 
847 serge 288
align 4096
289
 
996 serge 290
SLOT_BASE:
291
                rb 64*1024
292
DRIVE_DATA:
293
                rb 64*1024
294
RESERVED_PORTS:
295
                rb 64*1024
296
FLOPPY_BUFF:
297
                rb 16*1024
847 serge 298
 
996 serge 299
BUTTON_INFO:
300
                rb 16*1024
301
BgrAuxTable:
302
                rb 32*1024
303
skin_data:
304
                rb 32*1024
847 serge 305
 
996 serge 306
IDE_DMA:        rb 32*1024
307
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
308
window_data:
309
                rb 8192
310
 
311
CURRENT_TASK:
312
_current_task:
313
                rb 8192
314
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
315
draw_data:
316
                rb 4096
317
CDDataBuf:
318
                rb 4096
319
 
928 serge 320
cur_saved_data  rb 4096
847 serge 321
 
996 serge 322
_sys_pdbr       rd 1024
465 serge 323
 
854 serge 324
 
996 serge 325
fpu_data:
326
                rb 512
327
 
328
WIN_STACK:
329
                rb 0x400
330
WIN_POS:
331
                rb 0x800
332
 
333
idts            rq 0x42
334
 
465 serge 335
; device irq owners
764 Rus 336
irq_owner	  rd 16 ; process id
465 serge 337
 
338
; on irq read ports
339
 
764 Rus 340
irq00read	  rd 16
341
irq01read	  rd 16
342
irq02read	  rd 16
343
irq03read	  rd 16
344
irq04read	  rd 16
345
irq05read	  rd 16
346
irq06read	  rd 16
347
irq07read	  rd 16
348
irq08read	  rd 16
349
irq09read	  rd 16
350
irq10read	  rd 16
351
irq11read	  rd 16
352
irq12read	  rd 16
353
irq13read	  rd 16
354
irq14read	  rd 16
355
irq15read	  rd 16
465 serge 356
 
764 Rus 357
irq_tab 	  rd 16
465 serge 358
 
928 serge 359
FONT_I        rb 2304    ;16*144
360
FONT_II       rb 2560    ;16*160
361
 
996 serge 362
RAMDISK_FAT:  rb 2856*2 +16 ;16*357
363
FLOPPY_FAT:   rb 2856*2 +16
364
 
846 serge 365
_z_core           rd 52
366
 
764 Rus 367
mem_block_map	  rb 512
846 serge 368
 
928 serge 369
event_map         rb 64
764 Rus 370
mem_block_list	  rd 64
802 serge 371
large_block_list  rd 31
764 Rus 372
mem_block_mask	  rd 2
802 serge 373
large_block_mask  rd 1
465 serge 374
 
847 serge 375
 
376
_boot_mbi         rd 1
377
 
846 serge 378
_mem_amount       rd 1
379
_rd_base          rd 1
380
_rd_fat           rd 1 ;RAMDISK + 512
381
_rd_fat_end       rd 1 ;RAMDISK + 512 + 4278
382
_rd_root          rd 1 ;RAMDISK + 512*18 + 512
383
_rd_root_end      rd 1 ;RAMDISK + 512*33
843 serge 384
 
928 serge 385
heap_mutex        rd 1
386
heap_size         rd 1
387
heap_free         rd 1
388
heap_blocks       rd 1
389
free_blocks       rd 1
465 serge 390
 
391
mst MEM_STATE
392
 
890 serge 393
page_start        rd 1
394
page_end          rd 1
395
events            rd 1
396
event_start       rd 1
397
event_end         rd 1
398
event_uid         rd 1
399
sys_page_map      rd 1
465 serge 400
 
890 serge 401
srv.fd            rd 1
402
srv.bk            rd 1
465 serge 403
 
890 serge 404
_HwCursorCreate:
764 Rus 405
create_cursor	  rd 1
890 serge 406
 
407
_SelectHwCursor:
630 serge 408
select_hw_cursor  rd 1
890 serge 409
 
410
_SetHwCursor:
764 Rus 411
set_hw_cursor	  rd 1
465 serge 412
 
890 serge 413
_HwCursorRestore:
414
hw_restore        rd 1
415
 
416
def_cursor        rd 1
764 Rus 417
current_cursor	  rd 1
890 serge 418
hw_cursor         rd 1
764 Rus 419
cur_saved_base	  rd 1
465 serge 420
 
996 serge 421
cur.lock          rd 1   ;1 - lock update, 2- hide
422
cur.left          rd 1   ;cursor clip box
423
cur.top           rd 1
424
cur.right         rd 1
425
cur.bottom        rd 1
426
cur.w             rd 1
427
cur.h             rd 1
428
 
890 serge 429
ipc_tmp           rd 1
430
ipc_pdir          rd 1
431
ipc_ptab          rd 1
465 serge 432
 
764 Rus 433
proc_mem_map	  rd 1
434
proc_mem_pdir	  rd 1
435
proc_mem_tab	  rd 1
465 serge 436
 
764 Rus 437
tmp_task_pdir	  rd 1
438
tmp_task_ptab	  rd 1
465 serge 439
 
764 Rus 440
default_io_map	  rd 1
465 serge 441
 
442
 
928 serge 443
stall_mcs         rd 1
908 serge 444
 
445
_current_slot:
764 Rus 446
current_slot	  rd 1
465 serge 447
 
840 serge 448
_display_data     rd 1
449
 
928 serge 450
_current_thread   rd 1
451
_k_reenter        rd 1
452
 
453
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
454
 
455
scr_mode          rd 1
456
 
457
LFBAddress        rd 1
458
LFBSize           rd 1       ;8Mb hardcoded
459
ScreenBPP         rd 1
460
BytesPerScanLine  rd 1
461
 
462
put_pixel         rd 1
463
get_pixel         rd 1
464
 
996 serge 465
_screen_width     rd 1
466
_screen_height    rd 1
467
 
928 serge 468
Screen_Max_X      rd 1
469
Screen_Max_Y      rd 1
470
 
471
btn_addr          rd 1
472
 
473
redraw_background rd 1
996 serge 474
BgrDrawMode       rd 1
475
BgrDataWidth      rd 1
476
BgrDataHeight     rd 1
928 serge 477
 
478
MOUSE_VISIBLE     rd 1
479
WIN_TEMP_XY       rd 1
480
MOUSE_X           rw 1
481
MOUSE_Y           rw 1
482
mouse_scroll_v    rd 1
483
mouse_scroll_h    rd 1
484
 
485
BTN_COUNT         rd 1
486
BTN_BUFF          rd 1
487
 
488
KEY_COUNT         rd 1
489
KEY_BUFF          rb 128
490
 
491
btn_down          rd 1
492
x_under           rd 1
493
y_under           rd 1
494
 
495
dont_switch       rd 1
496
 
497
sys_shutdown      rd 1
498
 
499
bank_rw           rd 1
500
 
501
CPU_FREQ          rd 1
502
 
503
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
465 serge 504
; status
764 Rus 505
hd1_status		    rd 1  ; 0 - free : other - pid
465 serge 506
application_table_status    rd 1  ; 0 - free : other - pid
507
 
508
; device addresses
928 serge 509
mididp            rd 1
510
midisp            rd 1
465 serge 511
 
928 serge 512
cdbase            rd 1
513
cdid              rd 1
465 serge 514
 
928 serge 515
hdbase            rd 1    ; for boot 0x1f0
516
hdid              rd 1
517
hdpos             rd 1    ; for boot 0x1
518
fat32part         rd 1    ; for boot 0x1
519
cdpos             rd 1
465 serge 520
 
2971 Serge 521
;CPUID information
522
cpu_vendor        rd 3
523
cpu_sign          rd 1
524
cpu_info          rd 1
525
cpu_caps          rd 4
465 serge 526
 
527
 
928 serge 528
pg_data           PG_DATA
529
heap_test         rd 1
465 serge 530
 
928 serge 531
buttontype        rd 1
465 serge 532
windowtypechanged rd 1
533
 
928 serge 534
hd_entries        rd 1     ;unused ? 0xfe10
465 serge 535
 
536
;* start code - Mario79
537
 
764 Rus 538
mouse_active	      rd 1
928 serge 539
mouse_pause           rd 1
465 serge 540
MouseTickCounter      rd 1
769 Rus 541
 
465 serge 542
;* end code - Mario79
543
 
764 Rus 544
img_background	      rd 1
545
mem_BACKGROUND	      rd 1
465 serge 546
wraw_bacground_select rb 1
547
 
709 diamond 548
cache_ide0:
928 serge 549
cache_ide0_pointer            rd 1
550
cache_ide0_size               rd 1   ; not use
580 mario79 551
cache_ide0_data_pointer       rd 1
552
cache_ide0_system_data_size   rd 1   ; not use
553
cache_ide0_appl_data_size     rd 1   ; not use
764 Rus 554
cache_ide0_system_data	      rd 1
555
cache_ide0_appl_data	      rd 1
580 mario79 556
cache_ide0_system_sad_size    rd 1
557
cache_ide0_appl_sad_size      rd 1
558
cache_ide0_search_start       rd 1
559
cache_ide0_appl_search_start  rd 1
560
 
709 diamond 561
cache_ide1:
928 serge 562
cache_ide1_pointer            rd 1
563
cache_ide1_size               rd 1   ; not use
580 mario79 564
cache_ide1_data_pointer       rd 1
565
cache_ide1_system_data_size   rd 1   ; not use
566
cache_ide1_appl_data_size     rd 1   ; not use
764 Rus 567
cache_ide1_system_data	      rd 1
568
cache_ide1_appl_data	      rd 1
580 mario79 569
cache_ide1_system_sad_size    rd 1
570
cache_ide1_appl_sad_size      rd 1
571
cache_ide1_search_start       rd 1
572
cache_ide1_appl_search_start  rd 1
573
 
709 diamond 574
cache_ide2:
928 serge 575
cache_ide2_pointer            rd 1
576
cache_ide2_size               rd 1   ; not use
580 mario79 577
cache_ide2_data_pointer       rd 1
578
cache_ide2_system_data_size   rd 1   ; not use
579
cache_ide2_appl_data_size     rd 1   ; not use
764 Rus 580
cache_ide2_system_data	      rd 1
581
cache_ide2_appl_data	      rd 1
580 mario79 582
cache_ide2_system_sad_size    rd 1
583
cache_ide2_appl_sad_size      rd 1
584
cache_ide2_search_start       rd 1
585
cache_ide2_appl_search_start  rd 1
586
 
709 diamond 587
cache_ide3:
928 serge 588
cache_ide3_pointer            rd 1
589
cache_ide3_size               rd 1   ; not use
580 mario79 590
cache_ide3_data_pointer       rd 1
591
cache_ide3_system_data_size   rd 1   ; not use
592
cache_ide3_appl_data_size     rd 1   ; not use
764 Rus 593
cache_ide3_system_data	      rd 1
594
cache_ide3_appl_data	      rd 1
580 mario79 595
cache_ide3_system_sad_size    rd 1
596
cache_ide3_appl_sad_size      rd 1
597
cache_ide3_search_start       rd 1
598
cache_ide3_appl_search_start  rd 1
599
 
928 serge 600
debug_step_pointer            rd 1
580 mario79 601
 
928 serge 602
hdd_appl_data                 rb 1 ; 0 = system cache, 1 - application cache
603
cd_appl_data                  rb 1 ; 0 = system cache, 1 - application cache
465 serge 604
 
928 serge 605
align 4
606
lba_read_enabled              rd 1  ; 0 = disabled , 1 = enabled
607
pci_access_enabled            rd 1  ; 0 = disabled , 1 = enabled
608
timer_ticks_enable            rb 1     ; for cd driver
709 diamond 609
 
928 serge 610
align 4
611
NumBiosDisks                  rd 1
612
BiosDisksData                 rb 200h
613
BiosDiskCaches                rb 80h*(cache_ide1-cache_ide0)
614
BiosDiskPartitions            rd 80h
615
 
465 serge 616
IncludeUGlobals
617