forked from KolibriOS/kolibrios
a20b1c888d
git-svn-id: svn://kolibrios.org@2971 a494cfbc-eb01-0410-851d-a64ba20cac60
618 lines
14 KiB
PHP
618 lines
14 KiB
PHP
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
|
;; ;;
|
|
;; Copyright (C) KolibriOS team 2004-2007. All rights reserved. ;;
|
|
;; Distributed under terms of the GNU General Public License ;;
|
|
;; ;;
|
|
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
|
|
|
$Revision$
|
|
|
|
|
|
keymap:
|
|
|
|
db '6',27
|
|
db '1234567890-=',8,9
|
|
db 'qwertyuiop[]',13
|
|
db '~asdfghjkl;',39,96,0,'\zxcvbnm,./',0,'45 '
|
|
db '@234567890123',180,178,184,'6',176,'7'
|
|
db 179,'8',181,177,183,185,182
|
|
db 'AB<D',255,'FGHIJKLMNOPQRSTUVWXYZ'
|
|
db 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'
|
|
db 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'
|
|
db 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'
|
|
|
|
keymap_shift:
|
|
db '6',27
|
|
db '!@#$%^&*()_+',8,9
|
|
db 'QWERTYUIOP{}',13
|
|
db '~ASDFGHJKL:"~',0,'|ZXCVBNM<>?',0,'45 '
|
|
db '@234567890123',180,178,184,'6',176,'7'
|
|
db 179,'8',181,177,183,185,182
|
|
db 'AB>D',255,'FGHIJKLMNOPQRSTUVWXYZ'
|
|
db 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'
|
|
db 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'
|
|
db 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'
|
|
|
|
|
|
keymap_alt:
|
|
db ' ',27
|
|
db ' @ $ {[]}\ ',8,9
|
|
db ' ',13
|
|
db ' ',0,' ',0,'4',0,' '
|
|
db ' ',180,178,184,'6',176,'7'
|
|
db 179,'8',181,177,183,185,182
|
|
db 'ABCD',255,'FGHIJKLMNOPQRSTUVWXYZ'
|
|
db 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'
|
|
db 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'
|
|
db 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'
|
|
|
|
|
|
|
|
boot_memdetect db 'Determining amount of memory',0
|
|
boot_fonts db 'Fonts loaded',0
|
|
boot_tss db 'Setting TSSs',0
|
|
boot_cpuid db 'Reading CPUIDs',0
|
|
boot_devices db 'Detecting devices',0
|
|
boot_timer db 'Setting timer',0
|
|
boot_irqs db 'Reprogramming IRQs',0
|
|
boot_setmouse db 'Setting mouse',0
|
|
boot_windefs db 'Setting window defaults',0
|
|
boot_bgr db 'Calculating background',0
|
|
boot_resirqports db 'Reserving IRQs & ports',0
|
|
boot_setrports db 'Setting addresses for IRQs',0
|
|
boot_setostask db 'Setting OS task',0
|
|
boot_allirqs db 'Unmasking all IRQs',0
|
|
boot_tsc db 'Reading TSC',0
|
|
boot_cpufreq db 'CPU frequency is ',' ',' MHz',0
|
|
boot_pal_ega db 'Setting EGA/CGA 320x200 palette',0
|
|
boot_pal_vga db 'Setting VGA 640x480 palette',0
|
|
boot_failed db 'Failed to start first app',0
|
|
boot_mtrr db 'Setting MTRR',0
|
|
;if preboot_blogesc
|
|
; boot_tasking db 'All set - press ESC to start',0
|
|
;end if
|
|
|
|
;new_process_loading db 'K : New Process - loading',13,10,0
|
|
;new_process_running db 'K : New Process - done',13,10,0
|
|
start_not_enough_memory db 'K : New Process - not enough memory',13,10,0
|
|
|
|
msg_unresolved db 'unresolved ',0
|
|
msg_module db 'in module ',0
|
|
msg_version db 'incompatible driver version',13,10,0
|
|
msg_www db 'please visit www.kolibrios.org',13,10,0
|
|
msg_CR db 13,10,0
|
|
aSis db 'SIS',0
|
|
|
|
intel_str db "GenuineIntel",0
|
|
AMD_str db "AuthenticAMD",0
|
|
|
|
;szSound db 'SOUND',0
|
|
;szInfinity db 'INFINITY',0
|
|
szHwMouse db 'ATI2D',0
|
|
szPS2MDriver db 'PS2MOUSE',0
|
|
szCOM_MDriver db 'COM_MOUSE',0
|
|
szUSB db 'USB',0
|
|
szAtiHW db '/rd/1/drivers/ati2d.drv',0
|
|
|
|
szSTART db 'START',0
|
|
szEXPORTS db 'EXPORTS',0
|
|
sz_EXPORTS db '_EXPORTS',0
|
|
|
|
szIMPORTS db 'IMPORTS',0
|
|
|
|
read_firstapp db '/sys/'
|
|
firstapp db '@DESKTOP',0
|
|
|
|
char db '/rd/1/FONTS/CHAR.MT',0
|
|
char2 db '/rd/1/FONTS/CHAR2.MT',0
|
|
|
|
bootpath db '/KOLIBRI '
|
|
bootpath2 db 0
|
|
vmode db '/sys/drivers/VMODE.MDR',0
|
|
vrr_m db 'VRR_M',0
|
|
kernel_file db 'KERNEL MNT'
|
|
|
|
|
|
align 4
|
|
|
|
shmem_list:
|
|
.bk dd shmem_list
|
|
.fd dd shmem_list
|
|
|
|
; supported videomodes
|
|
mode_1280_1024_32:
|
|
dw 1280,1024,32,60
|
|
mode_1280_1024_24:
|
|
dw 1280,1024,24,60
|
|
mode_1024_768_32:
|
|
dw 1024,768,32,60
|
|
mode_1024_768_24:
|
|
dw 1024,768,24,60
|
|
mode_800_600_32:
|
|
dw 800,600,32,60
|
|
mode_800_600_24:
|
|
dw 800,600,24,60
|
|
mode_640_480_32:
|
|
dw 640,480,32,60
|
|
mode_640_480_24:
|
|
dw 640,480,24,60
|
|
mode_640_480_16:
|
|
dw 640,480,16,60
|
|
mode_320_240_8:
|
|
dw 320,240,8,60
|
|
|
|
; mike.dld {
|
|
db 0
|
|
dd servetable-0x10000
|
|
draw_line dd __sys_draw_line
|
|
disable_mouse dd __sys_disable_mouse
|
|
draw_pointer dd __sys_draw_pointer
|
|
;//mike.dld, 2006-08-02 [
|
|
;drawbar dd __sys_drawbar
|
|
drawbar dd __sys_drawbar.forced
|
|
;//mike.dld, 2006-08-02 ]
|
|
putpixel dd __sys_putpixel
|
|
; } mike.dld
|
|
|
|
|
|
align 4
|
|
keyboard dd 1
|
|
syslang dd 1
|
|
|
|
boot_y dd 10
|
|
|
|
pci_bios_entry dd 0
|
|
dw sel_pci_code
|
|
|
|
if __DEBUG__ eq 1
|
|
include_debug_strings
|
|
end if
|
|
|
|
IncludeIGlobals
|
|
|
|
align 16
|
|
_gdts:
|
|
|
|
dw (gdte - _gdts -1)
|
|
dd _gdts
|
|
dw 0
|
|
|
|
tss_l:
|
|
dw TSS_SIZE-1
|
|
dw tss and 0xFFFF
|
|
db (tss shr 16) and 0xFF
|
|
db 10001001b
|
|
dw (tss shr 16) and 0xFF00
|
|
|
|
; Attention! Do not change the order of the first four selectors. They are used in Fast System Call
|
|
; must be : os_code, os_data, app_code, app_data, ....
|
|
|
|
os_code_l: ;0x10
|
|
dw 0xffff
|
|
dw 0x0000
|
|
db 0x00
|
|
dw 11011111b *256 +10011010b
|
|
db 0x00
|
|
|
|
os_stacK_l: ;0x18
|
|
dw 0xffff
|
|
dw 0x0000
|
|
db 0x00
|
|
dw 11011111b *256 +10010010b
|
|
db 0x00
|
|
|
|
app_code_l: ;0x20
|
|
dw 0xFFFF
|
|
dw 0
|
|
db 0
|
|
db cpl3
|
|
dw G32+D32+0xF;
|
|
|
|
app_data_l: ;0x28
|
|
dw 0xFFFF
|
|
dw 0
|
|
db 0
|
|
db drw3
|
|
dw G32+D32+0xF;
|
|
|
|
srv_code_l: ;0x30
|
|
dw 0xFFFF
|
|
dw 0
|
|
db 0
|
|
db cpl1
|
|
dw G32+D32+0xF;
|
|
|
|
srv_stack_l: ;0x38
|
|
dw 0xFFFF
|
|
dw 0
|
|
db 0
|
|
db drw1
|
|
dw G32+D32+0xF;
|
|
|
|
; ------------- PCI BIOS ------------------
|
|
|
|
pci_code_32:
|
|
dw 0 ;lim 0-15
|
|
dw 0 ;base 0-15
|
|
db 0 ;base 16-23
|
|
db cpl0 ;type
|
|
db D32 ;lim 16-19+props
|
|
db 0 ;base 24-31
|
|
|
|
pci_data_32:
|
|
dw 0 ;lim 0-15
|
|
dw 0 ;base 0-15
|
|
db 0 ;base 16-23
|
|
db dpl0 ;type
|
|
db D32 ;lim 16-19+props
|
|
db 0 ;base 24-31
|
|
|
|
; --------------- APM ---------------------
|
|
apm_code_32:
|
|
dw 0x0f ; limit 64kb
|
|
db 0, 0, 0
|
|
dw 11010000b *256 +10011010b
|
|
db 0x00
|
|
apm_code_16:
|
|
dw 0x0f
|
|
db 0, 0, 0
|
|
dw 10010000b *256 +10011010b
|
|
db 0x00
|
|
apm_data_16:
|
|
dw 0x0f
|
|
db 0, 0, 0
|
|
dw 10010000b *256 +10010010b
|
|
db 0x00
|
|
; -----------------------------------------
|
|
|
|
graph_data_l:
|
|
|
|
dw 0x7ff
|
|
dw 0x0000
|
|
db 0x00
|
|
dw 11010000b *256 +11110010b
|
|
db 0x00
|
|
|
|
code_16_l:
|
|
dw 0xFFFF
|
|
dw 0
|
|
db 1
|
|
db cpl0
|
|
dw 0
|
|
|
|
endofcode:
|
|
gdte:
|
|
|
|
section '.bss' data writeable align 4096
|
|
|
|
align 4096
|
|
|
|
SLOT_BASE:
|
|
rb 64*1024
|
|
DRIVE_DATA:
|
|
rb 64*1024
|
|
RESERVED_PORTS:
|
|
rb 64*1024
|
|
FLOPPY_BUFF:
|
|
rb 16*1024
|
|
|
|
BUTTON_INFO:
|
|
rb 16*1024
|
|
BgrAuxTable:
|
|
rb 32*1024
|
|
skin_data:
|
|
rb 32*1024
|
|
|
|
IDE_DMA: rb 32*1024
|
|
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
|
window_data:
|
|
rb 8192
|
|
|
|
CURRENT_TASK:
|
|
_current_task:
|
|
rb 8192
|
|
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
|
draw_data:
|
|
rb 4096
|
|
CDDataBuf:
|
|
rb 4096
|
|
|
|
cur_saved_data rb 4096
|
|
|
|
_sys_pdbr rd 1024
|
|
|
|
|
|
fpu_data:
|
|
rb 512
|
|
|
|
WIN_STACK:
|
|
rb 0x400
|
|
WIN_POS:
|
|
rb 0x800
|
|
|
|
idts rq 0x42
|
|
|
|
; device irq owners
|
|
irq_owner rd 16 ; process id
|
|
|
|
; on irq read ports
|
|
|
|
irq00read rd 16
|
|
irq01read rd 16
|
|
irq02read rd 16
|
|
irq03read rd 16
|
|
irq04read rd 16
|
|
irq05read rd 16
|
|
irq06read rd 16
|
|
irq07read rd 16
|
|
irq08read rd 16
|
|
irq09read rd 16
|
|
irq10read rd 16
|
|
irq11read rd 16
|
|
irq12read rd 16
|
|
irq13read rd 16
|
|
irq14read rd 16
|
|
irq15read rd 16
|
|
|
|
irq_tab rd 16
|
|
|
|
FONT_I rb 2304 ;16*144
|
|
FONT_II rb 2560 ;16*160
|
|
|
|
RAMDISK_FAT: rb 2856*2 +16 ;16*357
|
|
FLOPPY_FAT: rb 2856*2 +16
|
|
|
|
_z_core rd 52
|
|
|
|
mem_block_map rb 512
|
|
|
|
event_map rb 64
|
|
mem_block_list rd 64
|
|
large_block_list rd 31
|
|
mem_block_mask rd 2
|
|
large_block_mask rd 1
|
|
|
|
|
|
_boot_mbi rd 1
|
|
|
|
_mem_amount rd 1
|
|
_rd_base rd 1
|
|
_rd_fat rd 1 ;RAMDISK + 512
|
|
_rd_fat_end rd 1 ;RAMDISK + 512 + 4278
|
|
_rd_root rd 1 ;RAMDISK + 512*18 + 512
|
|
_rd_root_end rd 1 ;RAMDISK + 512*33
|
|
|
|
heap_mutex rd 1
|
|
heap_size rd 1
|
|
heap_free rd 1
|
|
heap_blocks rd 1
|
|
free_blocks rd 1
|
|
|
|
mst MEM_STATE
|
|
|
|
page_start rd 1
|
|
page_end rd 1
|
|
events rd 1
|
|
event_start rd 1
|
|
event_end rd 1
|
|
event_uid rd 1
|
|
sys_page_map rd 1
|
|
|
|
srv.fd rd 1
|
|
srv.bk rd 1
|
|
|
|
_HwCursorCreate:
|
|
create_cursor rd 1
|
|
|
|
_SelectHwCursor:
|
|
select_hw_cursor rd 1
|
|
|
|
_SetHwCursor:
|
|
set_hw_cursor rd 1
|
|
|
|
_HwCursorRestore:
|
|
hw_restore rd 1
|
|
|
|
def_cursor rd 1
|
|
current_cursor rd 1
|
|
hw_cursor rd 1
|
|
cur_saved_base rd 1
|
|
|
|
cur.lock rd 1 ;1 - lock update, 2- hide
|
|
cur.left rd 1 ;cursor clip box
|
|
cur.top rd 1
|
|
cur.right rd 1
|
|
cur.bottom rd 1
|
|
cur.w rd 1
|
|
cur.h rd 1
|
|
|
|
ipc_tmp rd 1
|
|
ipc_pdir rd 1
|
|
ipc_ptab rd 1
|
|
|
|
proc_mem_map rd 1
|
|
proc_mem_pdir rd 1
|
|
proc_mem_tab rd 1
|
|
|
|
tmp_task_pdir rd 1
|
|
tmp_task_ptab rd 1
|
|
|
|
default_io_map rd 1
|
|
|
|
|
|
stall_mcs rd 1
|
|
|
|
_current_slot:
|
|
current_slot rd 1
|
|
|
|
_display_data rd 1
|
|
|
|
_current_thread rd 1
|
|
_k_reenter rd 1
|
|
|
|
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
|
|
|
scr_mode rd 1
|
|
|
|
LFBAddress rd 1
|
|
LFBSize rd 1 ;8Mb hardcoded
|
|
ScreenBPP rd 1
|
|
BytesPerScanLine rd 1
|
|
|
|
put_pixel rd 1
|
|
get_pixel rd 1
|
|
|
|
_screen_width rd 1
|
|
_screen_height rd 1
|
|
|
|
Screen_Max_X rd 1
|
|
Screen_Max_Y rd 1
|
|
|
|
btn_addr rd 1
|
|
|
|
redraw_background rd 1
|
|
BgrDrawMode rd 1
|
|
BgrDataWidth rd 1
|
|
BgrDataHeight rd 1
|
|
|
|
MOUSE_VISIBLE rd 1
|
|
WIN_TEMP_XY rd 1
|
|
MOUSE_X rw 1
|
|
MOUSE_Y rw 1
|
|
mouse_scroll_v rd 1
|
|
mouse_scroll_h rd 1
|
|
|
|
BTN_COUNT rd 1
|
|
BTN_BUFF rd 1
|
|
|
|
KEY_COUNT rd 1
|
|
KEY_BUFF rb 128
|
|
|
|
btn_down rd 1
|
|
x_under rd 1
|
|
y_under rd 1
|
|
|
|
dont_switch rd 1
|
|
|
|
sys_shutdown rd 1
|
|
|
|
bank_rw rd 1
|
|
|
|
CPU_FREQ rd 1
|
|
|
|
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
|
; status
|
|
hd1_status rd 1 ; 0 - free : other - pid
|
|
application_table_status rd 1 ; 0 - free : other - pid
|
|
|
|
; device addresses
|
|
mididp rd 1
|
|
midisp rd 1
|
|
|
|
cdbase rd 1
|
|
cdid rd 1
|
|
|
|
hdbase rd 1 ; for boot 0x1f0
|
|
hdid rd 1
|
|
hdpos rd 1 ; for boot 0x1
|
|
fat32part rd 1 ; for boot 0x1
|
|
cdpos rd 1
|
|
|
|
;CPUID information
|
|
cpu_vendor rd 3
|
|
cpu_sign rd 1
|
|
cpu_info rd 1
|
|
cpu_caps rd 4
|
|
|
|
|
|
pg_data PG_DATA
|
|
heap_test rd 1
|
|
|
|
buttontype rd 1
|
|
windowtypechanged rd 1
|
|
|
|
hd_entries rd 1 ;unused ? 0xfe10
|
|
|
|
;* start code - Mario79
|
|
|
|
mouse_active rd 1
|
|
mouse_pause rd 1
|
|
MouseTickCounter rd 1
|
|
|
|
;* end code - Mario79
|
|
|
|
img_background rd 1
|
|
mem_BACKGROUND rd 1
|
|
wraw_bacground_select rb 1
|
|
|
|
cache_ide0:
|
|
cache_ide0_pointer rd 1
|
|
cache_ide0_size rd 1 ; not use
|
|
cache_ide0_data_pointer rd 1
|
|
cache_ide0_system_data_size rd 1 ; not use
|
|
cache_ide0_appl_data_size rd 1 ; not use
|
|
cache_ide0_system_data rd 1
|
|
cache_ide0_appl_data rd 1
|
|
cache_ide0_system_sad_size rd 1
|
|
cache_ide0_appl_sad_size rd 1
|
|
cache_ide0_search_start rd 1
|
|
cache_ide0_appl_search_start rd 1
|
|
|
|
cache_ide1:
|
|
cache_ide1_pointer rd 1
|
|
cache_ide1_size rd 1 ; not use
|
|
cache_ide1_data_pointer rd 1
|
|
cache_ide1_system_data_size rd 1 ; not use
|
|
cache_ide1_appl_data_size rd 1 ; not use
|
|
cache_ide1_system_data rd 1
|
|
cache_ide1_appl_data rd 1
|
|
cache_ide1_system_sad_size rd 1
|
|
cache_ide1_appl_sad_size rd 1
|
|
cache_ide1_search_start rd 1
|
|
cache_ide1_appl_search_start rd 1
|
|
|
|
cache_ide2:
|
|
cache_ide2_pointer rd 1
|
|
cache_ide2_size rd 1 ; not use
|
|
cache_ide2_data_pointer rd 1
|
|
cache_ide2_system_data_size rd 1 ; not use
|
|
cache_ide2_appl_data_size rd 1 ; not use
|
|
cache_ide2_system_data rd 1
|
|
cache_ide2_appl_data rd 1
|
|
cache_ide2_system_sad_size rd 1
|
|
cache_ide2_appl_sad_size rd 1
|
|
cache_ide2_search_start rd 1
|
|
cache_ide2_appl_search_start rd 1
|
|
|
|
cache_ide3:
|
|
cache_ide3_pointer rd 1
|
|
cache_ide3_size rd 1 ; not use
|
|
cache_ide3_data_pointer rd 1
|
|
cache_ide3_system_data_size rd 1 ; not use
|
|
cache_ide3_appl_data_size rd 1 ; not use
|
|
cache_ide3_system_data rd 1
|
|
cache_ide3_appl_data rd 1
|
|
cache_ide3_system_sad_size rd 1
|
|
cache_ide3_appl_sad_size rd 1
|
|
cache_ide3_search_start rd 1
|
|
cache_ide3_appl_search_start rd 1
|
|
|
|
debug_step_pointer rd 1
|
|
|
|
hdd_appl_data rb 1 ; 0 = system cache, 1 - application cache
|
|
cd_appl_data rb 1 ; 0 = system cache, 1 - application cache
|
|
|
|
align 4
|
|
lba_read_enabled rd 1 ; 0 = disabled , 1 = enabled
|
|
pci_access_enabled rd 1 ; 0 = disabled , 1 = enabled
|
|
timer_ticks_enable rb 1 ; for cd driver
|
|
|
|
align 4
|
|
NumBiosDisks rd 1
|
|
BiosDisksData rb 200h
|
|
BiosDiskCaches rb 80h*(cache_ide1-cache_ide0)
|
|
BiosDiskPartitions rd 80h
|
|
|
|
IncludeUGlobals
|
|
|