Subversion Repositories Kolibri OS

Rev

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

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