Subversion Repositories Kolibri OS

Rev

Rev 1276 | Rev 1300 | 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: 1289 $
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
 
1276 Lrz 132
;mode_1280_1024_32:
133
;  dw 1280,1024,32,60
134
;mode_1280_1024_24:
135
;  dw 1280,1024,24,60
136
;mode_1024_768_32:
137
;  dw 1024,768,32,60
138
;mode_1024_768_24:
139
;  dw 1024,768,24,60
140
;mode_800_600_32:
141
;  dw 800,600,32,60
142
;mode_800_600_24:
143
;  dw 800,600,24,60
144
;mode_640_480_32:
145
;  dw 640,480,32,60
146
;mode_640_480_24:
147
;  dw 640,480,24,60
148
;mode_640_480_16:
149
;  dw 640,480,16,60
150
;mode_320_240_8:
151
;  dw 320,240,8,60
465 serge 152
 
153
; mike.dld {
154
db 0
155
dd servetable-0x10000
1055 Galkov 156
draw_line       dd __sys_draw_line
157
disable_mouse   dd __sys_disable_mouse
158
draw_pointer    dd __sys_draw_pointer
465 serge 159
;//mike.dld, 2006-08-02 [
160
;drawbar         dd __sys_drawbar
1055 Galkov 161
drawbar         dd __sys_drawbar.forced
465 serge 162
;//mike.dld, 2006-08-02 ]
1055 Galkov 163
putpixel        dd __sys_putpixel
465 serge 164
; } mike.dld
165
 
166
 
167
align 4
168
keyboard   dd 1
169
syslang    dd 1
170
 
1055 Galkov 171
boot_y     dd 10
465 serge 172
 
1055 Galkov 173
pci_bios_entry  dd 0
174
                dw pci_code_sel
465 serge 175
 
176
if __DEBUG__ eq 1
177
  include_debug_strings
178
end if
179
 
180
IncludeIGlobals
181
 
182
align 16
183
gdts:
184
 
1055 Galkov 185
        dw     gdte-$-1
186
        dd     gdts
187
        dw     0
465 serge 188
 
525 diamond 189
; Attention! Do not change the order of the first four selectors. They are used in Fast System Call
465 serge 190
; must be : os_code, os_data, app_code, app_data, ....
191
 
192
int_code_l:
193
os_code_l:
1055 Galkov 194
        dw     0xffff
195
        dw     0x0000
196
        db     0x00
197
        dw     11011111b *256 +10011010b
198
        db     0x00
465 serge 199
 
200
int_data_l:
201
os_data_l:
1055 Galkov 202
        dw     0xffff
203
        dw     0x0000
204
        db     0x00
205
        dw     11011111b *256 +10010010b
206
        db     0x00
465 serge 207
 
208
app_code_l:
1055 Galkov 209
        dw 0xFFFF
210
        dw 0
211
        db 0
212
        db cpl3
1220 serge 213
        dw G32+D32+0xF;
465 serge 214
 
215
app_data_l:
1055 Galkov 216
        dw 0xFFFF
217
        dw 0
218
        db 0
219
        db drw3
1220 serge 220
        dw G32+D32+0xF;
465 serge 221
 
586 serge 222
; ------------- PCI BIOS ------------------
223
 
224
pci_code_32:
1055 Galkov 225
        dw 0         ;lim  0-15
226
        dw 0         ;base 0-15
227
        db 0         ;base 16-23
228
        db cpl0      ;type
229
        db D32       ;lim 16-19+props
230
        db 0         ;base 24-31
586 serge 231
 
232
pci_data_32:
1055 Galkov 233
        dw 0         ;lim  0-15
234
        dw 0         ;base 0-15
235
        db 0         ;base 16-23
236
        db dpl0      ;type
237
        db D32       ;lim 16-19+props
238
        db 0         ;base 24-31
586 serge 239
 
465 serge 240
; --------------- APM ---------------------
241
apm_code_32:
1055 Galkov 242
        dw     0x0f        ; limit 64kb
243
        db     0, 0, 0
244
        dw     11010000b *256 +10011010b
245
        db     0x00
465 serge 246
apm_code_16:
1055 Galkov 247
        dw     0x0f
248
        db     0, 0, 0
249
        dw     10010000b *256 +10011010b
250
        db     0x00
465 serge 251
apm_data_16:
1055 Galkov 252
        dw     0x0f
253
        db     0, 0, 0
254
        dw     10010000b *256 +10010010b
255
        db     0x00
465 serge 256
; -----------------------------------------
257
 
258
graph_data_l:
259
 
1055 Galkov 260
        dw     0x7ff
261
        dw     0x0000
262
        db     0x00
263
        dw     11010000b *256 +11110010b
264
        db     0x00
465 serge 265
tss0_l:
1055 Galkov 266
        dw     TSS_SIZE-1
267
        dw     tss and 0xFFFF
268
        db     (tss shr 16) and 0xFF
269
        db     10001001b
270
        dw     (tss shr 16) and 0xFF00
1220 serge 271
 
272
tls_data_l:
273
        dw 0x0FFF
274
        dw 0
275
        db 0
276
        db drw3
277
        dw D32
278
 
465 serge 279
endofcode:
280
gdte:
281
 
282
align 16
1055 Galkov 283
cur_saved_data    rb 4096
284
fpu_data:         rb 512
465 serge 285
 
286
; device irq owners
1055 Galkov 287
irq_owner         rd 16 ; process id
465 serge 288
 
289
; on irq read ports
290
 
1055 Galkov 291
irq00read         rd 16
292
irq01read         rd 16
293
irq02read         rd 16
294
irq03read         rd 16
295
irq04read         rd 16
296
irq05read         rd 16
297
irq06read         rd 16
298
irq07read         rd 16
299
irq08read         rd 16
300
irq09read         rd 16
301
irq10read         rd 16
302
irq11read         rd 16
303
irq12read         rd 16
304
irq13read         rd 16
305
irq14read         rd 16
306
irq15read         rd 16
465 serge 307
 
1055 Galkov 308
irq_tab           rd 16
465 serge 309
 
1055 Galkov 310
mem_block_map     rb 512
311
mem_block_list    rd 64
802 serge 312
large_block_list  rd 31
1055 Galkov 313
mem_block_mask    rd 2
802 serge 314
large_block_mask  rd 1
465 serge 315
 
940 serge 316
mem_used.fd       rd 1
317
mem_used.bk       rd 1
465 serge 318
 
1055 Galkov 319
mem_block_arr     rd 1
465 serge 320
mem_block_start   rd 1
1055 Galkov 321
mem_block_end     rd 1
465 serge 322
 
940 serge 323
heap_mutex        rd 1
324
heap_size         rd 1
325
heap_free         rd 1
326
heap_blocks       rd 1
327
free_blocks       rd 1
465 serge 328
 
329
mst MEM_STATE
330
 
940 serge 331
page_start        rd 1
332
page_end          rd 1
1055 Galkov 333
sys_page_map      rd 1
334
os_stack_seg      rd 1
465 serge 335
 
940 serge 336
 
1055 Galkov 337
srv.fd            rd 1
338
srv.bk            rd 1
465 serge 339
 
1275 serge 340
_display          display_t
341
 
1055 Galkov 342
scr_width         rd 1
343
scr_height        rd 1
465 serge 344
 
1055 Galkov 345
create_cursor     rd 1
630 serge 346
select_hw_cursor  rd 1
1055 Galkov 347
set_hw_cursor     rd 1
348
hw_restore        rd 1
465 serge 349
 
1055 Galkov 350
def_cursor        rd 1
351
current_cursor    rd 1
352
hw_cursor         rd 1
353
cur_def_interl    rd 1
354
cur_saved_base    rd 1
465 serge 355
cur_saved_interl  rd 1
1055 Galkov 356
cur_saved_w       rd 1
357
cur_saved_h       rd 1
465 serge 358
 
1055 Galkov 359
ipc_tmp           rd 1
360
ipc_pdir          rd 1
361
ipc_ptab          rd 1
465 serge 362
 
1055 Galkov 363
proc_mem_map      rd 1
364
proc_mem_pdir     rd 1
365
proc_mem_tab      rd 1
465 serge 366
 
1055 Galkov 367
tmp_task_pdir     rd 1
368
tmp_task_ptab     rd 1
465 serge 369
 
1055 Galkov 370
default_io_map    rd 1
465 serge 371
 
1055 Galkov 372
LFBSize           rd 1
465 serge 373
 
1055 Galkov 374
stall_mcs         rd 1
375
current_slot      rd 1
465 serge 376
 
377
; status
1055 Galkov 378
hd1_status                  rd 1  ; 0 - free : other - pid
465 serge 379
application_table_status    rd 1  ; 0 - free : other - pid
380
 
381
; device addresses
1055 Galkov 382
mididp            rd 1
383
midisp            rd 1
465 serge 384
 
1055 Galkov 385
cdbase            rd 1
386
cdid              rd 1
465 serge 387
 
1055 Galkov 388
hdbase            rd 1    ; for boot 0x1f0
389
hdid              rd 1
390
hdpos             rd 1    ; for boot 0x1
391
fat32part         rd 1    ; for boot 0x1
392
cdpos             rd 1
465 serge 393
 
394
;CPUID information
1055 Galkov 395
cpu_vendor        rd 3
396
cpu_sign          rd 1
397
cpu_info          rd 1
398
cpu_caps          rd 4
465 serge 399
 
400
 
1055 Galkov 401
pg_data           PG_DATA
402
heap_test         rd 1
465 serge 403
 
1055 Galkov 404
buttontype        rd 1
465 serge 405
windowtypechanged rd 1
406
 
1055 Galkov 407
hd_entries        rd 1     ;unused ? 0xfe10
465 serge 408
 
409
;* start code - Mario79
410
 
1055 Galkov 411
mouse_active          rd 1
412
mouse_pause           rd 1
465 serge 413
MouseTickCounter      rd 1
769 Rus 414
 
465 serge 415
;* end code - Mario79
416
 
1055 Galkov 417
img_background        rd 1
418
mem_BACKGROUND        rd 1
1107 diamond 419
static_background_data rd 1
465 serge 420
 
709 diamond 421
cache_ide0:
1055 Galkov 422
cache_ide0_pointer            rd 1
423
cache_ide0_size               rd 1   ; not use
580 mario79 424
cache_ide0_data_pointer       rd 1
425
cache_ide0_system_data_size   rd 1   ; not use
426
cache_ide0_appl_data_size     rd 1   ; not use
1055 Galkov 427
cache_ide0_system_data        rd 1
428
cache_ide0_appl_data          rd 1
580 mario79 429
cache_ide0_system_sad_size    rd 1
430
cache_ide0_appl_sad_size      rd 1
431
cache_ide0_search_start       rd 1
432
cache_ide0_appl_search_start  rd 1
433
 
709 diamond 434
cache_ide1:
1055 Galkov 435
cache_ide1_pointer            rd 1
436
cache_ide1_size               rd 1   ; not use
580 mario79 437
cache_ide1_data_pointer       rd 1
438
cache_ide1_system_data_size   rd 1   ; not use
439
cache_ide1_appl_data_size     rd 1   ; not use
1055 Galkov 440
cache_ide1_system_data        rd 1
441
cache_ide1_appl_data          rd 1
580 mario79 442
cache_ide1_system_sad_size    rd 1
443
cache_ide1_appl_sad_size      rd 1
444
cache_ide1_search_start       rd 1
445
cache_ide1_appl_search_start  rd 1
446
 
709 diamond 447
cache_ide2:
1055 Galkov 448
cache_ide2_pointer            rd 1
449
cache_ide2_size               rd 1   ; not use
580 mario79 450
cache_ide2_data_pointer       rd 1
451
cache_ide2_system_data_size   rd 1   ; not use
452
cache_ide2_appl_data_size     rd 1   ; not use
1055 Galkov 453
cache_ide2_system_data        rd 1
454
cache_ide2_appl_data          rd 1
580 mario79 455
cache_ide2_system_sad_size    rd 1
456
cache_ide2_appl_sad_size      rd 1
457
cache_ide2_search_start       rd 1
458
cache_ide2_appl_search_start  rd 1
459
 
709 diamond 460
cache_ide3:
1055 Galkov 461
cache_ide3_pointer            rd 1
462
cache_ide3_size               rd 1   ; not use
580 mario79 463
cache_ide3_data_pointer       rd 1
464
cache_ide3_system_data_size   rd 1   ; not use
465
cache_ide3_appl_data_size     rd 1   ; not use
1055 Galkov 466
cache_ide3_system_data        rd 1
467
cache_ide3_appl_data          rd 1
580 mario79 468
cache_ide3_system_sad_size    rd 1
469
cache_ide3_appl_sad_size      rd 1
470
cache_ide3_search_start       rd 1
471
cache_ide3_appl_search_start  rd 1
472
 
473
debug_step_pointer rd 1
474
hdd_appl_data rb 1 ; 0 = system cache, 1 - application cache
585 mario79 475
cd_appl_data rb 1 ; 0 = system cache, 1 - application cache
580 mario79 476
 
465 serge 477
lba_read_enabled      rd 1  ; 0 = disabled , 1 = enabled
478
pci_access_enabled    rd 1  ; 0 = disabled , 1 = enabled
1055 Galkov 479
timer_ticks_enable rb 1         ; for cd driver
465 serge 480
 
1055 Galkov 481
NumBiosDisks    rd 1
482
BiosDisksData   rb 200h
483
BiosDiskCaches  rb 80h*(cache_ide1-cache_ide0)
709 diamond 484
BiosDiskPartitions rd 80h
485
 
465 serge 486
IncludeUGlobals