Subversion Repositories Kolibri OS

Rev

Rev 9047 | Details | Compare with Previous | Last modification | View Log | RSS feed

Rev Author Line No. Line
1349 art_zh 1
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
2
;;                                                              ;;
8866 rgimad 3
;; Copyright (C) KolibriOS team 2004-2021. All rights reserved. ;;
1349 art_zh 4
;; Distributed under terms of the GNU General Public License    ;;
5
;;                                                              ;;
6
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
7
 
8
$Revision: 9048 $
9
 
1354 diamond 10
 
1349 art_zh 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
 
2104 maximYCH 50
 
51
if lang eq ru
4135 clevermous 52
  boot_initirq      cp866 'Инициализация IRQ',0
53
  boot_picinit      cp866 'Инициализация PIC',0
4273 clevermous 54
  boot_v86machine   cp866 'Инициализация системной V86 машины',0
4135 clevermous 55
  boot_inittimer    cp866 'Инициализация системного таймера (IRQ0)',0
56
  boot_initapic     cp866 'Попытка инициализации APIC',0
57
  boot_enableirq    cp866 'Включить прерывания 2, 13',0
58
  boot_disabling_ide cp866 'Запрещение прерываний в контроллере IDE',0
59
  boot_enabling_ide cp866 'Разрешение прерываний в контроллере IDE',0
60
  boot_set_int_IDE  cp866 'Установка обработчиков прерываний IDE',0
61
  boot_detectfloppy cp866 'Поиск floppy дисководов',0
62
  boot_detecthdcd   cp866 'Поиск жестких дисков и ATAPI приводов',0
63
  boot_getcache     cp866 'Получение памяти для кэша',0
64
  boot_detectpart   cp866 'Поиск разделов на дисковых устройствах',0
65
  boot_init_sys     cp866 'Инициализация системного каталога /sys',0
66
  boot_loadlibs     cp866 'Загрузка библиотек (.obj)',0
67
  boot_memdetect    cp866 'Количество оперативной памяти','     ',' Мб',0
68
  boot_tss          cp866 'Установка TSSs',0
69
  boot_cpuid        cp866 'Чтение CPUIDs',0
70
;  boot_devices      cp866 'Поиск устройств',0
71
  boot_timer        cp866 'Установка таймера',0
4273 clevermous 72
  boot_initramdisk  cp866 'Инициализация рамдиска',0
4135 clevermous 73
  boot_irqs         cp866 'Переопределение IRQ',0
74
  boot_setmouse     cp866 'Установка мыши',0
75
  boot_windefs      cp866 'Установка настроек окон по умолчанию',0
76
  boot_bgr          cp866 'Установка фона',0
77
  boot_resirqports  cp866 'Резервирование IRQ и портов',0
78
  boot_setrports    cp866 'Установка адресов IRQ',0
79
  boot_setostask    cp866 'Создание процесса ядра',0
80
  boot_allirqs      cp866 'Открытие всех IRQ',0
81
  boot_tsc          cp866 'Чтение TSC',0
82
  boot_cpufreq      cp866 'Частота процессора ','    ',' МГц',0
83
  boot_pal_ega      cp866 'Установка EGA/CGA 320x200 палитры',0
84
  boot_pal_vga      cp866 'Установка VGA 640x480 палитры',0
85
  boot_failed       cp866 'Загрузка первого приложения не удалась',0
86
  boot_mtrr         cp866 'Установка MTRR',0
3481 Serge 87
 
4135 clevermous 88
  boot_APIC_found   cp866 'APIC включен', 0
89
  boot_APIC_nfound  cp866 'APIC не найден', 0
2104 maximYCH 90
if preboot_blogesc
4135 clevermous 91
  boot_tasking      cp866 'Все готово для запуска, нажмитре ESC для старта',0
2104 maximYCH 92
end if
3274 esevece 93
else if lang eq sp
94
  include 'data32sp.inc'
3927 kaitz 95
else if lang eq et
96
  include 'data32et.inc'
2104 maximYCH 97
else
2642 mario79 98
  boot_initirq      db   'Initialize IRQ',0
99
  boot_picinit      db   'Initialize PIC',0
100
  boot_v86machine   db   'Initialize system V86 machine',0
101
  boot_inittimer    db   'Initialize system timer (IRQ0)',0
4273 clevermous 102
  boot_initramdisk  db   'Initialize ramdisk',0
2642 mario79 103
  boot_initapic     db   'Try to initialize APIC',0
3775 mario79 104
  boot_enableirq    db   'Enable interrupts 2, 13',0
3762 mario79 105
  boot_disabling_ide db   'Disable interrupts in IDE controller',0
106
  boot_enabling_ide db   'Enable interrupts in IDE controller',0
3778 mario79 107
  boot_set_int_IDE  db   'Set handler of interrupts for IDE',0
2642 mario79 108
  boot_detectfloppy db   'Search floppy drives',0
109
  boot_detecthdcd   db   'Search hard drives and ATAPI drives',0
110
  boot_getcache     db   'Get memory for cache',0
111
  boot_detectpart   db   'Search partitions on disk devices',0
112
  boot_init_sys     db   'Initialize system directory /sys',0
113
  boot_loadlibs     db   'Loading librares (.obj)',0
1349 art_zh 114
  boot_memdetect    db   'Determining amount of memory',0
115
  boot_tss          db   'Setting TSSs',0
116
  boot_cpuid        db   'Reading CPUIDs',0
2642 mario79 117
;  boot_devices      db   'Detecting devices',0
1349 art_zh 118
  boot_setmouse     db   'Setting mouse',0
119
  boot_windefs      db   'Setting window defaults',0
120
  boot_bgr          db   'Calculating background',0
121
  boot_resirqports  db   'Reserving IRQs & ports',0
122
  boot_setostask    db   'Setting OS task',0
2288 clevermous 123
  boot_allirqs      db   'Unmasking IRQs',0
1349 art_zh 124
  boot_tsc          db   'Reading TSC',0
125
  boot_cpufreq      db   'CPU frequency is ','    ',' MHz',0
126
  boot_pal_ega      db   'Setting EGA/CGA 320x200 palette',0
127
  boot_pal_vga      db   'Setting VGA 640x480 palette',0
128
  boot_failed       db   'Failed to start first app',0
129
  boot_mtrr         db   'Setting MTRR',0
3481 Serge 130
 
2642 mario79 131
  boot_APIC_found   db   'APIC enabled', 0
132
  boot_APIC_nfound  db   'APIC not found', 0
1349 art_zh 133
if preboot_blogesc
134
  boot_tasking      db   'All set - press ESC to start',0
135
end if
2104 maximYCH 136
end if
1349 art_zh 137
 
138
;new_process_loading db 'K : New Process - loading',13,10,0
139
;new_process_running db 'K : New Process - done',13,10,0
140
start_not_enough_memory db 'K : New Process - not enough memory',13,10,0
141
 
142
msg_unresolved db 'unresolved ',0
5088 clevermous 143
;msg_module     db 'in module ',0
144
;if ~ lang eq sp
145
;msg_version    db 'incompatible driver version',13,10,0
146
;msg_www        db 'please visit www.kolibrios.org',13,10,0
147
;end if
1349 art_zh 148
msg_CR         db  13,10,0
149
 
8088 dunkaist 150
szPS2MDriver    db '/sys/drivers/PS2MOUSE.SYS',0
1349 art_zh 151
;szCOM_MDriver   db 'COM_MOUSE',0
8088 dunkaist 152
szVidintel      db '/sys/drivers/vidintel.sys',0
1349 art_zh 153
szUSB           db 'USB',0
154
 
155
szEXPORTS      db 'EXPORTS',0
156
sz_EXPORTS     db '_EXPORTS',0
157
 
158
szIMPORTS      db 'IMPORTS',0
159
 
160
read_firstapp  db '/sys/'
8088 dunkaist 161
firstapp       db '/sys/LAUNCHER',0
162
notifyapp      db '/sys/@notify',0
1948 clevermous 163
if lang eq ru
4135 clevermous 164
ud_user_message  cp866 'Ошибка: неподдерживаемая инструкция процессора',0
4793 yogev_ezra 165
mtrr_user_message cp866 '"Обнаружена проблема с конфигурацией MTRR.\nПроизводительность может быть пониженной" -dW',0
3929 kaitz 166
else if ~ lang eq sp
1948 clevermous 167
ud_user_message db 'Error: unsupported processor instruction',0
4793 yogev_ezra 168
mtrr_user_message db '"There is a problem with MTRR configuration.\nPerformance can be low" -dW',0
1948 clevermous 169
end if
1349 art_zh 170
 
4273 clevermous 171
kernel_file_load:
6244 serge 172
; load kernel.mnt to _CLEAN_ZONE
4273 clevermous 173
        dd      0       ; subfunction
174
        dq      0       ; offset in file
6244 serge 175
        dd      0x31000 ; number of bytes to read
176
        dd      _CLEAN_ZONE ; buffer for data
8088 dunkaist 177
        db      '/sys/KERNEL.MNT',0
1349 art_zh 178
 
8092 dunkaist 179
dev_data_path  db '/RD/1/DRIVERS/DEVICES.DAT',0
8671 Coldy 180
; { Patch by Coldy, For DLL autoload
181
dll_lib_path  db '/RD/1/LIB/DLL.OBJ',0
182
dll_error_msg db '"DLL.OBJ not found!\nTerminate application!" -dE',0
183
; } End patch by Coldy, For DLL autoload
9048 Boppan 184
pe_loader_usermode db '/rd/1/lib/kolibri.dll',0
185
 
1349 art_zh 186
align 4
187
 
188
shmem_list:
189
 .bk           dd shmem_list
190
 .fd           dd shmem_list
191
 
9048 Boppan 192
pe_list:
193
 .bk           dd pe_list
194
 .fd           dd pe_list
1349 art_zh 195
 
3393 clevermous 196
pcidev_list:
197
 .bk           dd pcidev_list
198
 .fd           dd pcidev_list
199
 
9048 Boppan 200
shared_locked_list:
201
               dd shared_locked_list
202
               dd shared_locked_list
1349 art_zh 203
 
204
; supported videomodes
205
 
206
 
207
; mike.dld {
2453 mario79 208
;db 0
209
;dd servetable-0x10000
210
;align 4
211
;draw_line       dd __sys_draw_line
212
;draw_pointer    dd __sys_draw_pointer
1349 art_zh 213
;//mike.dld, 2006-08-02 [
2453 mario79 214
;;drawbar         dd __sys_drawbar
215
;;drawbar         dd __sys_drawbar.forced
216
;drawbar         dd vesa20_drawbar
1349 art_zh 217
;//mike.dld, 2006-08-02 ]
2453 mario79 218
;putpixel        dd __sys_putpixel
1349 art_zh 219
; } mike.dld
220
 
221
 
222
align 4
223
keyboard   dd 1
224
 
7601 dunkaist 225
if lang eq en
226
  SYSLANG = 1
227
else if lang eq fi
228
  SYSLANG = 2
229
else if lang eq de
230
  SYSLANG = 3
231
else if lang eq ru
232
  SYSLANG = 4
233
else if lang eq fr
234
  SYSLANG = 5
235
else if lang eq et
236
  SYSLANG = 6
237
else if lang eq sp
238
  SYSLANG = 7
239
else if lang eq it
240
  SYSLANG = 8
7603 dunkaist 241
else if lang eq ca
242
  SYSLANG = 9
7601 dunkaist 243
else
244
  display 'unsupported language specified',13,10
245
end if
246
syslang    dd SYSLANG
247
 
1349 art_zh 248
boot_y     dd 10
249
 
250
pci_bios_entry  dd 0
251
                dw pci_code_sel
252
 
253
if __DEBUG__ eq 1
254
  include_debug_strings
255
end if
256
 
257
IncludeIGlobals
258
 
259
align 16
260
gdts:
261
 
262
        dw     gdte-$-1
263
        dd     gdts
264
        dw     0
265
 
266
; Attention! Do not change the order of the first four selectors. They are used in Fast System Call
267
; must be : os_code, os_data, app_code, app_data, ....
268
 
269
int_code_l:
270
os_code_l:
271
        dw     0xffff
272
        dw     0x0000
273
        db     0x00
274
        dw     11011111b *256 +10011010b
275
        db     0x00
276
 
277
int_data_l:
278
os_data_l:
279
        dw     0xffff
280
        dw     0x0000
281
        db     0x00
282
        dw     11011111b *256 +10010010b
283
        db     0x00
284
 
285
app_code_l:
286
        dw 0xFFFF
287
        dw 0
288
        db 0
289
        db cpl3
290
        dw G32+D32+0xF;
291
 
292
app_data_l:
293
        dw 0xFFFF
294
        dw 0
295
        db 0
296
        db drw3
297
        dw G32+D32+0xF;
298
 
299
; ------------- PCI BIOS ------------------
300
 
301
pci_code_32:
302
        dw 0         ;lim  0-15
303
        dw 0         ;base 0-15
304
        db 0         ;base 16-23
305
        db cpl0      ;type
306
        db D32       ;lim 16-19+props
307
        db 0         ;base 24-31
308
 
309
pci_data_32:
310
        dw 0         ;lim  0-15
311
        dw 0         ;base 0-15
312
        db 0         ;base 16-23
313
        db dpl0      ;type
314
        db D32       ;lim 16-19+props
315
        db 0         ;base 24-31
316
 
317
; --------------- APM ---------------------
318
apm_code_32:
319
        dw     0x0f        ; limit 64kb
320
        db     0, 0, 0
321
        dw     11010000b *256 +10011010b
322
        db     0x00
323
apm_code_16:
324
        dw     0x0f
325
        db     0, 0, 0
326
        dw     10010000b *256 +10011010b
327
        db     0x00
328
apm_data_16:
329
        dw     0x0f
330
        db     0, 0, 0
331
        dw     10010000b *256 +10010010b
332
        db     0x00
333
; -----------------------------------------
334
 
335
graph_data_l:
336
 
337
        dw     0x7ff
338
        dw     0x0000
339
        db     0x00
340
        dw     11010000b *256 +11110010b
341
        db     0x00
342
tss0_l:
2384 hidnplayr 343
        dw     sizeof.TSS-1
1349 art_zh 344
        dw     tss and 0xFFFF
345
        db     (tss shr 16) and 0xFF
346
        db     10001001b
347
        dw     (tss shr 16) and 0xFF00
348
 
349
tls_data_l:
350
        dw 0x0FFF
351
        dw 0
352
        db 0
353
        db drw3
354
        dw D32
355
 
356
gdte:
357
 
3627 Serge 358
diff16 "end of .data segment",0,$
7721 dunkaist 359
endofcode:
3627 Serge 360
 
1349 art_zh 361
align 16
2430 mario79 362
cur_saved_data:
6585 pathoswith 363
        rb  4096
7276 dunkaist 364
align 64
2288 clevermous 365
fpu_data:
7276 dunkaist 366
        rb  0xa80       ; bochs avx512
7165 clevermous 367
fpu_data_size = $ - fpu_data
6585 pathoswith 368
draw_data:
369
        rb  32*256
7522 dunkaist 370
BPSLine_calc_area   rd  MAX_SCREEN_HEIGHT
371
d_width_calc_area   rd  MAX_SCREEN_HEIGHT
6585 pathoswith 372
mouseunder          rd  16*24
1349 art_zh 373
 
6585 pathoswith 374
mem_block_list      rd  64*2
375
mem_used_list       rd  64*2
376
mem_hash_cnt        rd  64
1349 art_zh 377
 
6585 pathoswith 378
thr_slot_map        rd  8
5130 serge 379
 
6585 pathoswith 380
_display            display_t
381
bios_fb             FRB
3481 Serge 382
 
3732 Serge 383
mst                 MEM_STATE
1349 art_zh 384
 
6585 pathoswith 385
cpu_freq            dq  ?
1349 art_zh 386
 
6585 pathoswith 387
heap_mutex          MUTEX
388
heap_size           dd  ?
389
heap_free           dd  ?
390
heap_blocks         dd  ?
391
free_blocks         dd  ?
392
mem_block_mask      rd  2
393
next_memblock       dd  ?
1349 art_zh 394
 
6585 pathoswith 395
pte_valid_mask      dd  ?
396
page_start          dd  ?
397
page_end            dd  ?
398
sys_page_map        dd  ?
399
os_stack_seg        dd  ?
1349 art_zh 400
 
6585 pathoswith 401
srv.fd              dd  ?
402
srv.bk              dd  ?
1349 art_zh 403
 
9048 Boppan 404
shmem_list_mutex    MUTEX
405
pe_list_mutex       MUTEX
406
shared_locked_mutex MUTEX
407
proc_mem_mutex      MUTEX
408
ipc_mutex           MUTEX
409
 
6585 pathoswith 410
LFBAddress          dd  ?
1349 art_zh 411
 
6585 pathoswith 412
PUTPIXEL            dd  ?
413
GETPIXEL            dd  ?
3606 Serge 414
 
3627 Serge 415
if VESA_1_2_VIDEO
6585 pathoswith 416
BANK_SWITCH         dd  ?   ; reserved for vesa 1.2
417
BANK_RW             dd  ?
3627 Serge 418
end if
419
 
6585 pathoswith 420
MOUSE_PICTURE       dd  ?
3627 Serge 421
 
6585 pathoswith 422
def_cursor          dd  ?
423
def_cursor_clock    dd  ?
424
current_cursor      dd  ?
425
hw_cursor           dd  ?
426
cur_saved_base      dd  ?
3627 Serge 427
 
6585 pathoswith 428
cur.lock            dd  ?   ; 1 - lock update, 2- hide
429
cur.left            dd  ?   ; cursor clip box
430
cur.top             dd  ?
431
cur.w               dd  ?
432
cur.h               dd  ?
3627 Serge 433
 
6585 pathoswith 434
ipc_tmp             dd  ?
435
ipc_pdir            dd  ?
436
ipc_ptab            dd  ?
3627 Serge 437
 
6585 pathoswith 438
proc_mem_map        dd  ?
439
proc_mem_pdir       dd  ?
440
proc_mem_tab        dd  ?
3627 Serge 441
 
6585 pathoswith 442
tmp_task_ptab       dd  ?
9048 Boppan 443
zero_page_tab       dd  ?
3627 Serge 444
 
6585 pathoswith 445
default_io_map      dd  ?
1349 art_zh 446
 
6585 pathoswith 447
LFBSize             dd  ?
1349 art_zh 448
 
6585 pathoswith 449
current_process     dd  ?
8869 rgimad 450
current_slot        dd  ?   ; pointer to APPDATA of current thread
451
current_slot_idx    dd  ?   ; index of current thread slot
8866 rgimad 452
thread_count        dd  ?
3727 Serge 453
 
6585 pathoswith 454
; device addresses
455
mididp  dd  ?
456
midisp  dd  ?
1349 art_zh 457
 
6585 pathoswith 458
cdbase  dd  ?
459
cdid    dd  ?
1349 art_zh 460
 
6585 pathoswith 461
hdbase  dd  ?   ; for boot 0x1f0
462
hdid    dd  ?
463
hdpos   dd  ?   ; for boot 0x1
464
cdpos   dd  ?
1349 art_zh 465
 
6585 pathoswith 466
;CPUID information
467
cpu_vendor  rd  3
468
cpu_sign    dd  ?
469
cpu_info    dd  ?
470
cpu_caps    rd  4
1349 art_zh 471
 
7124 dunkaist 472
xsave_area_size dd ?
7276 dunkaist 473
xsave_eax       dd ?
474
xsave_edx       dd ?
7124 dunkaist 475
 
6585 pathoswith 476
pg_data     PG_DATA
477
heap_test   dd  ?
1349 art_zh 478
 
6585 pathoswith 479
skin_data   dd  ?
1349 art_zh 480
 
6585 pathoswith 481
mouse_active    dd  ?
482
mouse_pause     dd  ?
5130 serge 483
 
6585 pathoswith 484
BgrDrawMode     dd  ?
485
BgrDataWidth    dd  ?
486
BgrDataHeight   dd  ?
1349 art_zh 487
 
6585 pathoswith 488
buttontype          dd  ?
489
windowtypechanged   dd  ?
1349 art_zh 490
 
6585 pathoswith 491
debug_step_pointer  dd  ?
1349 art_zh 492
 
6585 pathoswith 493
lba_read_enabled    dd  ?   ; 0 = disabled , 1 = enabled
494
pci_access_enabled  dd  ?   ; 0 = disabled , 1 = enabled
1349 art_zh 495
 
6585 pathoswith 496
NumBiosDisks        dd  ?
6843 dunkaist 497
BiosDisksData       rb  200h    ; struct BiosDiskData
6585 pathoswith 498
BiosDiskCaches      rb  80h*(cache_ide1-cache_ide0)
499
BiosDiskPartitions  rd  80h
1349 art_zh 500
 
6585 pathoswith 501
img_background          dd  ?
502
mem_BACKGROUND          dd  ?
503
static_background_data  dd  ?
1349 art_zh 504
 
6585 pathoswith 505
hd1_status              dd  ?   ; 0 - free : other - pid
506
application_table_owner dd  ?   ; 0 - free : other - pid
507
application_table_mutex MUTEX
1349 art_zh 508
 
6585 pathoswith 509
redrawmouse_unconditional   dd  ?
1349 art_zh 510
 
6585 pathoswith 511
MOUSE_SCROLL_H  rw  1
512
MOUSE_X:        rw  1
513
MOUSE_Y:        rw  1
514
MOUSE_SCROLL_V  rw  1
1349 art_zh 515
 
6585 pathoswith 516
X_UNDER         rw  1
517
Y_UNDER         rw  1
518
COLOR_TEMP      dd  ?
519
MOUSE_COLOR_MEM dd  ?
1349 art_zh 520
 
6585 pathoswith 521
SCR_MODE    rw  2
2450 mario79 522
 
6585 pathoswith 523
BTN_DOWN:   rb  4
1349 art_zh 524
 
6585 pathoswith 525
cpu_phys_addr_width db  ?   ; also known as MAXPHYADDR in Intel manuals
526
hdd_appl_data       db  ?   ; 0 = system cache, 1 - application cache
527
cd_appl_data        db  ?   ; 0 = system cache, 1 - application cache
3606 Serge 528
 
6585 pathoswith 529
timer_ticks_enable  db  ?  ; for cd driver
3588 Serge 530
 
6585 pathoswith 531
REDRAW_BACKGROUND   db  ?
1349 art_zh 532
 
3627 Serge 533
align 16
6585 pathoswith 534
DRIVE_DATA: rb  DRIVE_DATA_SIZE
1349 art_zh 535
 
536
IncludeUGlobals
3727 Serge 537
 
538
uglobals_size = $ - endofcode
539
 
540
if ~ lang eq sp
541
diff16 "end of .bss",0,$
542
end if
543
 
8085 dunkaist 544
; check if kernel fits memmap
545
assert $-OS_BASE+0x1000 < TMP_STACK_TOP
546
 
3727 Serge 547
org (OS_BASE+0x0100000)
548
 
5057 clevermous 549
; Currently size of memory allocated for the ramdisk is fixed.
550
; This should be revisited when/if memory map would become more dynamic.
551
RAMDISK_CAPACITY = 2880 ; in sectors
3727 Serge 552
 
6585 pathoswith 553
RAMDISK:
554
        rb  RAMDISK_CAPACITY*512
5057 clevermous 555
 
3727 Serge 556
_CLEAN_ZONE:
7136 dunkaist 557
CLEAN_ZONE = _CLEAN_ZONE - OS_BASE
3727 Serge 558
 
6585 pathoswith 559
BgrAuxTable     rb  32768
5057 clevermous 560
align 65536
6585 pathoswith 561
SB16Buffer      rb  65536
5057 clevermous 562
 
3727 Serge 563
align 4096
6585 pathoswith 564
BUTTON_INFO     rb  64*1024
565
RESERVED_PORTS:
566
        rb  64*1024
567
sys_pgmap:
568
        rb  1024*1024/8