Rev 3762 | Rev 3778 | Go to most recent revision | Only display areas with differences | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed
Rev 3762 | Rev 3775 | ||
---|---|---|---|
1 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; |
1 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; |
2 | ;; ;; |
2 | ;; ;; |
3 | ;; Copyright (C) KolibriOS team 2004-2012. All rights reserved. ;; |
3 | ;; Copyright (C) KolibriOS team 2004-2012. All rights reserved. ;; |
4 | ;; Distributed under terms of the GNU General Public License ;; |
4 | ;; Distributed under terms of the GNU General Public License ;; |
5 | ;; ;; |
5 | ;; ;; |
6 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; |
6 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; |
7 | 7 | ||
8 | $Revision: 3762 $ |
8 | $Revision: 3775 $ |
9 | 9 | ||
10 | 10 | ||
11 | keymap: |
11 | keymap: |
12 | 12 | ||
13 | db '6',27 |
13 | db '6',27 |
14 | db '1234567890-=',8,9 |
14 | db '1234567890-=',8,9 |
15 | db 'qwertyuiop[]',13 |
15 | db 'qwertyuiop[]',13 |
16 | db '~asdfghjkl;',39,96,0,'\zxcvbnm,./',0,'45 ' |
16 | db '~asdfghjkl;',39,96,0,'\zxcvbnm,./',0,'45 ' |
17 | db '@234567890123',180,178,184,'6',176,'7' |
17 | db '@234567890123',180,178,184,'6',176,'7' |
18 | db 179,'8',181,177,183,185,182 |
18 | db 179,'8',181,177,183,185,182 |
19 | db 'AB |
19 | db 'AB |
20 | db 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' |
20 | db 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' |
21 | db 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' |
21 | db 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' |
22 | db 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' |
22 | db 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' |
23 | 23 | ||
24 | keymap_shift: |
24 | keymap_shift: |
25 | db '6',27 |
25 | db '6',27 |
26 | db '!@#$%^&*()_+',8,9 |
26 | db '!@#$%^&*()_+',8,9 |
27 | db 'QWERTYUIOP{}',13 |
27 | db 'QWERTYUIOP{}',13 |
28 | db '~ASDFGHJKL:"~',0,'|ZXCVBNM<>?',0,'45 ' |
28 | db '~ASDFGHJKL:"~',0,'|ZXCVBNM<>?',0,'45 ' |
29 | db '@234567890123',180,178,184,'6',176,'7' |
29 | db '@234567890123',180,178,184,'6',176,'7' |
30 | db 179,'8',181,177,183,185,182 |
30 | db 179,'8',181,177,183,185,182 |
31 | db 'AB>D',255,'FGHIJKLMNOPQRSTUVWXYZ' |
31 | db 'AB>D',255,'FGHIJKLMNOPQRSTUVWXYZ' |
32 | db 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' |
32 | db 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' |
33 | db 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' |
33 | db 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' |
34 | db 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' |
34 | db 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' |
35 | 35 | ||
36 | 36 | ||
37 | keymap_alt: |
37 | keymap_alt: |
38 | db ' ',27 |
38 | db ' ',27 |
39 | db ' @ $ {[]}\ ',8,9 |
39 | db ' @ $ {[]}\ ',8,9 |
40 | db ' ',13 |
40 | db ' ',13 |
41 | db ' ',0,' ',0,'4',0,' ' |
41 | db ' ',0,' ',0,'4',0,' ' |
42 | db ' ',180,178,184,'6',176,'7' |
42 | db ' ',180,178,184,'6',176,'7' |
43 | db 179,'8',181,177,183,185,182 |
43 | db 179,'8',181,177,183,185,182 |
44 | db 'ABCD',255,'FGHIJKLMNOPQRSTUVWXYZ' |
44 | db 'ABCD',255,'FGHIJKLMNOPQRSTUVWXYZ' |
45 | db 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' |
45 | db 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' |
46 | db 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' |
46 | db 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' |
47 | db 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' |
47 | db 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' |
48 | 48 | ||
49 | 49 | ||
50 | 50 | ||
51 | if lang eq ru |
51 | if lang eq ru |
52 | boot_initirq: cp866 'Инициализация IRQ',0 |
52 | boot_initirq: cp866 'Инициализация IRQ',0 |
53 | boot_picinit: cp866 'Инициализация PIC',0 |
53 | boot_picinit: cp866 'Инициализация PIC',0 |
54 | boot_v86machine: cp866 'Инициализация системы V86 машины',0 |
54 | boot_v86machine: cp866 'Инициализация системы V86 машины',0 |
55 | boot_inittimer: cp866 'Инициализация системного таймера (IRQ0)',0 |
55 | boot_inittimer: cp866 'Инициализация системного таймера (IRQ0)',0 |
56 | boot_initapic: cp866 'Попытка инициализации APIC',0 |
56 | boot_initapic: cp866 'Попытка инициализации APIC',0 |
57 | boot_enableirq: cp866 'Включить прерывания 2, 6, 13, 14, 15',0 |
57 | boot_enableirq: cp866 'Включить прерывания 2, 13',0 |
58 | boot_disabling_ide:cp866 'Запрещение прерываний в контроллере IDE',0 |
58 | boot_disabling_ide:cp866 'Запрещение прерываний в контроллере IDE',0 |
59 | boot_enabling_ide:cp866 'Разрешение прерываний в контроллере IDE',0 |
59 | boot_enabling_ide:cp866 'Разрешение прерываний в контроллере IDE',0 |
60 | boot_set_int_IDE: cp866 'Установка обработчиков прерываний для контроллера IDE',0 |
60 | boot_set_int_IDE: cp866 'Установка обработчиков прерываний для контроллера IDE',0 |
61 | boot_detectfloppy:cp866 'Поиск floppy дисководов',0 |
61 | boot_detectfloppy:cp866 'Поиск floppy дисководов',0 |
62 | boot_detecthdcd: cp866 'Поиск жестких дисков и ATAPI приводов',0 |
62 | boot_detecthdcd: cp866 'Поиск жестких дисков и ATAPI приводов',0 |
63 | boot_getcache: cp866 'Получение памяти для кэша',0 |
63 | boot_getcache: cp866 'Получение памяти для кэша',0 |
64 | boot_detectpart: cp866 'Поиск разделов на дисковых устройствах',0 |
64 | boot_detectpart: cp866 'Поиск разделов на дисковых устройствах',0 |
65 | boot_init_sys: cp866 'Инициализация системного каталога /sys',0 |
65 | boot_init_sys: cp866 'Инициализация системного каталога /sys',0 |
66 | boot_loadlibs: cp866 'Загрузка библиотек (.obj)',0 |
66 | boot_loadlibs: cp866 'Загрузка библиотек (.obj)',0 |
67 | boot_memdetect: cp866 'Количество оперативной памяти',' ',' Мб',0 |
67 | boot_memdetect: cp866 'Количество оперативной памяти',' ',' Мб',0 |
68 | boot_tss: cp866 'Установка TSSs',0 |
68 | boot_tss: cp866 'Установка TSSs',0 |
69 | boot_cpuid: cp866 'Чтение CPUIDs',0 |
69 | boot_cpuid: cp866 'Чтение CPUIDs',0 |
70 | ; boot_devices: cp866 'Поиск устройств',0 |
70 | ; boot_devices: cp866 'Поиск устройств',0 |
71 | boot_timer: cp866 'Установка таймера',0 |
71 | boot_timer: cp866 'Установка таймера',0 |
72 | boot_irqs: cp866 'Переопределение IRQ',0 |
72 | boot_irqs: cp866 'Переопределение IRQ',0 |
73 | boot_setmouse: cp866 'Установка мыши',0 |
73 | boot_setmouse: cp866 'Установка мыши',0 |
74 | boot_windefs: cp866 'Установка настроек окон по умолчанию',0 |
74 | boot_windefs: cp866 'Установка настроек окон по умолчанию',0 |
75 | boot_bgr: cp866 'Установка фона',0 |
75 | boot_bgr: cp866 'Установка фона',0 |
76 | boot_resirqports: cp866 'Резервирование IRQ и портов',0 |
76 | boot_resirqports: cp866 'Резервирование IRQ и портов',0 |
77 | boot_setrports: cp866 'Установка адресов IRQ',0 |
77 | boot_setrports: cp866 'Установка адресов IRQ',0 |
78 | boot_setostask: cp866 'Создание процесса ядра',0 |
78 | boot_setostask: cp866 'Создание процесса ядра',0 |
79 | boot_allirqs: cp866 'Открытие всех IRQ',0 |
79 | boot_allirqs: cp866 'Открытие всех IRQ',0 |
80 | boot_tsc: cp866 'Чтение TSC',0 |
80 | boot_tsc: cp866 'Чтение TSC',0 |
81 | boot_cpufreq: cp866 'Частота процессора ',' ',' МГц',0 |
81 | boot_cpufreq: cp866 'Частота процессора ',' ',' МГц',0 |
82 | boot_pal_ega: cp866 'Установка EGA/CGA 320x200 палитры',0 |
82 | boot_pal_ega: cp866 'Установка EGA/CGA 320x200 палитры',0 |
83 | boot_pal_vga: cp866 'Установка VGA 640x480 палитры',0 |
83 | boot_pal_vga: cp866 'Установка VGA 640x480 палитры',0 |
84 | boot_failed: cp866 'Загрузка первого приложения не удалась',0 |
84 | boot_failed: cp866 'Загрузка первого приложения не удалась',0 |
85 | boot_mtrr: cp866 'Установка MTRR',0 |
85 | boot_mtrr: cp866 'Установка MTRR',0 |
86 | 86 | ||
87 | boot_APIC_found: cp866 'APIC включен', 0 |
87 | boot_APIC_found: cp866 'APIC включен', 0 |
88 | boot_APIC_nfound: cp866 'APIC не найден', 0 |
88 | boot_APIC_nfound: cp866 'APIC не найден', 0 |
89 | if preboot_blogesc |
89 | if preboot_blogesc |
90 | boot_tasking: cp866 'Все готово для запуска, нажмитре ESC для старта',0 |
90 | boot_tasking: cp866 'Все готово для запуска, нажмитре ESC для старта',0 |
91 | end if |
91 | end if |
92 | else if lang eq sp |
92 | else if lang eq sp |
93 | include 'data32sp.inc' |
93 | include 'data32sp.inc' |
94 | else |
94 | else |
95 | boot_initirq db 'Initialize IRQ',0 |
95 | boot_initirq db 'Initialize IRQ',0 |
96 | boot_picinit db 'Initialize PIC',0 |
96 | boot_picinit db 'Initialize PIC',0 |
97 | boot_v86machine db 'Initialize system V86 machine',0 |
97 | boot_v86machine db 'Initialize system V86 machine',0 |
98 | boot_inittimer db 'Initialize system timer (IRQ0)',0 |
98 | boot_inittimer db 'Initialize system timer (IRQ0)',0 |
99 | boot_initapic db 'Try to initialize APIC',0 |
99 | boot_initapic db 'Try to initialize APIC',0 |
100 | boot_enableirq db 'Enable interrupts 2, 6, 13, 14, 15',0 |
100 | boot_enableirq db 'Enable interrupts 2, 13',0 |
101 | boot_disabling_ide db 'Disable interrupts in IDE controller',0 |
101 | boot_disabling_ide db 'Disable interrupts in IDE controller',0 |
102 | boot_enabling_ide db 'Enable interrupts in IDE controller',0 |
102 | boot_enabling_ide db 'Enable interrupts in IDE controller',0 |
103 | boot_set_int_IDE db 'Set handler of interrupts for IDE controller',0 |
103 | boot_set_int_IDE db 'Set handler of interrupts for IDE controller',0 |
104 | boot_detectfloppy db 'Search floppy drives',0 |
104 | boot_detectfloppy db 'Search floppy drives',0 |
105 | boot_detecthdcd db 'Search hard drives and ATAPI drives',0 |
105 | boot_detecthdcd db 'Search hard drives and ATAPI drives',0 |
106 | boot_getcache db 'Get memory for cache',0 |
106 | boot_getcache db 'Get memory for cache',0 |
107 | boot_detectpart db 'Search partitions on disk devices',0 |
107 | boot_detectpart db 'Search partitions on disk devices',0 |
108 | boot_init_sys db 'Initialize system directory /sys',0 |
108 | boot_init_sys db 'Initialize system directory /sys',0 |
109 | boot_loadlibs db 'Loading librares (.obj)',0 |
109 | boot_loadlibs db 'Loading librares (.obj)',0 |
110 | boot_memdetect db 'Determining amount of memory',0 |
110 | boot_memdetect db 'Determining amount of memory',0 |
111 | boot_tss db 'Setting TSSs',0 |
111 | boot_tss db 'Setting TSSs',0 |
112 | boot_cpuid db 'Reading CPUIDs',0 |
112 | boot_cpuid db 'Reading CPUIDs',0 |
113 | ; boot_devices db 'Detecting devices',0 |
113 | ; boot_devices db 'Detecting devices',0 |
114 | boot_setmouse db 'Setting mouse',0 |
114 | boot_setmouse db 'Setting mouse',0 |
115 | boot_windefs db 'Setting window defaults',0 |
115 | boot_windefs db 'Setting window defaults',0 |
116 | boot_bgr db 'Calculating background',0 |
116 | boot_bgr db 'Calculating background',0 |
117 | boot_resirqports db 'Reserving IRQs & ports',0 |
117 | boot_resirqports db 'Reserving IRQs & ports',0 |
118 | boot_setostask db 'Setting OS task',0 |
118 | boot_setostask db 'Setting OS task',0 |
119 | boot_allirqs db 'Unmasking IRQs',0 |
119 | boot_allirqs db 'Unmasking IRQs',0 |
120 | boot_tsc db 'Reading TSC',0 |
120 | boot_tsc db 'Reading TSC',0 |
121 | boot_cpufreq db 'CPU frequency is ',' ',' MHz',0 |
121 | boot_cpufreq db 'CPU frequency is ',' ',' MHz',0 |
122 | boot_pal_ega db 'Setting EGA/CGA 320x200 palette',0 |
122 | boot_pal_ega db 'Setting EGA/CGA 320x200 palette',0 |
123 | boot_pal_vga db 'Setting VGA 640x480 palette',0 |
123 | boot_pal_vga db 'Setting VGA 640x480 palette',0 |
124 | boot_failed db 'Failed to start first app',0 |
124 | boot_failed db 'Failed to start first app',0 |
125 | boot_mtrr db 'Setting MTRR',0 |
125 | boot_mtrr db 'Setting MTRR',0 |
126 | 126 | ||
127 | boot_APIC_found db 'APIC enabled', 0 |
127 | boot_APIC_found db 'APIC enabled', 0 |
128 | boot_APIC_nfound db 'APIC not found', 0 |
128 | boot_APIC_nfound db 'APIC not found', 0 |
129 | if preboot_blogesc |
129 | if preboot_blogesc |
130 | boot_tasking db 'All set - press ESC to start',0 |
130 | boot_tasking db 'All set - press ESC to start',0 |
131 | end if |
131 | end if |
132 | end if |
132 | end if |
133 | 133 | ||
134 | ;new_process_loading db 'K : New Process - loading',13,10,0 |
134 | ;new_process_loading db 'K : New Process - loading',13,10,0 |
135 | ;new_process_running db 'K : New Process - done',13,10,0 |
135 | ;new_process_running db 'K : New Process - done',13,10,0 |
136 | start_not_enough_memory db 'K : New Process - not enough memory',13,10,0 |
136 | start_not_enough_memory db 'K : New Process - not enough memory',13,10,0 |
137 | 137 | ||
138 | msg_unresolved db 'unresolved ',0 |
138 | msg_unresolved db 'unresolved ',0 |
139 | msg_module db 'in module ',0 |
139 | msg_module db 'in module ',0 |
140 | if ~ lang eq sp |
140 | if ~ lang eq sp |
141 | msg_version db 'incompatible driver version',13,10,0 |
141 | msg_version db 'incompatible driver version',13,10,0 |
142 | msg_www db 'please visit www.kolibrios.org',13,10,0 |
142 | msg_www db 'please visit www.kolibrios.org',13,10,0 |
143 | end if |
143 | end if |
144 | msg_CR db 13,10,0 |
144 | msg_CR db 13,10,0 |
145 | 145 | ||
146 | intel_str db "GenuineIntel",0 |
146 | intel_str db "GenuineIntel",0 |
147 | AMD_str db "AuthenticAMD",0 |
147 | AMD_str db "AuthenticAMD",0 |
148 | 148 | ||
149 | szHwMouse db 'ATI2D',0 |
149 | szHwMouse db 'ATI2D',0 |
150 | szPS2MDriver db 'PS2MOUSE',0 |
150 | szPS2MDriver db 'PS2MOUSE',0 |
151 | ;szCOM_MDriver db 'COM_MOUSE',0 |
151 | ;szCOM_MDriver db 'COM_MOUSE',0 |
152 | szVidintel db 'vidintel',0 |
152 | szVidintel db 'vidintel',0 |
153 | szUSB db 'USB',0 |
153 | szUSB db 'USB',0 |
154 | szAtiHW db '/rd/1/drivers/ati2d.drv',0 |
154 | szAtiHW db '/rd/1/drivers/ati2d.drv',0 |
155 | 155 | ||
156 | szSTART db 'START',0 |
156 | szSTART db 'START',0 |
157 | szEXPORTS db 'EXPORTS',0 |
157 | szEXPORTS db 'EXPORTS',0 |
158 | sz_EXPORTS db '_EXPORTS',0 |
158 | sz_EXPORTS db '_EXPORTS',0 |
159 | 159 | ||
160 | szIMPORTS db 'IMPORTS',0 |
160 | szIMPORTS db 'IMPORTS',0 |
161 | 161 | ||
162 | read_firstapp db '/sys/' |
162 | read_firstapp db '/sys/' |
163 | firstapp db 'LAUNCHER',0 |
163 | firstapp db 'LAUNCHER',0 |
164 | notifyapp db '@notify',0 |
164 | notifyapp db '@notify',0 |
165 | if lang eq ru |
165 | if lang eq ru |
166 | ud_user_message: cp866 'Ошибка: неподдерживаемая инструкция процессора',0 |
166 | ud_user_message: cp866 'Ошибка: неподдерживаемая инструкция процессора',0 |
167 | else if ~ lang eq sp |
167 | else if ~ lang eq sp |
168 | ud_user_message db 'Error: unsupported processor instruction',0 |
168 | ud_user_message db 'Error: unsupported processor instruction',0 |
169 | end if |
169 | end if |
170 | 170 | ||
171 | vmode db '/sys/drivers/VMODE.MDR',0 |
171 | vmode db '/sys/drivers/VMODE.MDR',0 |
172 | ;vrr_m db 'VRR_M',0 |
172 | ;vrr_m db 'VRR_M',0 |
173 | kernel_file db 'KERNEL MNT' |
173 | kernel_file db 'KERNEL MNT' |
174 | 174 | ||
175 | dev_data_path db '/RD/1/DRIVERS/DEVICES.DAT',0 |
175 | dev_data_path db '/RD/1/DRIVERS/DEVICES.DAT',0 |
176 | 176 | ||
177 | align 4 |
177 | align 4 |
178 | 178 | ||
179 | shmem_list: |
179 | shmem_list: |
180 | .bk dd shmem_list |
180 | .bk dd shmem_list |
181 | .fd dd shmem_list |
181 | .fd dd shmem_list |
182 | 182 | ||
183 | dll_list: |
183 | dll_list: |
184 | .bk dd dll_list |
184 | .bk dd dll_list |
185 | .fd dd dll_list |
185 | .fd dd dll_list |
186 | 186 | ||
187 | pcidev_list: |
187 | pcidev_list: |
188 | .bk dd pcidev_list |
188 | .bk dd pcidev_list |
189 | .fd dd pcidev_list |
189 | .fd dd pcidev_list |
190 | 190 | ||
191 | MAX_DEFAULT_DLL_ADDR = 0x80000000 |
191 | MAX_DEFAULT_DLL_ADDR = 0x80000000 |
192 | MIN_DEFAULT_DLL_ADDR = 0x70000000 |
192 | MIN_DEFAULT_DLL_ADDR = 0x70000000 |
193 | dll_cur_addr dd MIN_DEFAULT_DLL_ADDR |
193 | dll_cur_addr dd MIN_DEFAULT_DLL_ADDR |
194 | 194 | ||
195 | ; supported videomodes |
195 | ; supported videomodes |
196 | 196 | ||
197 | 197 | ||
198 | ; mike.dld { |
198 | ; mike.dld { |
199 | ;db 0 |
199 | ;db 0 |
200 | ;dd servetable-0x10000 |
200 | ;dd servetable-0x10000 |
201 | ;align 4 |
201 | ;align 4 |
202 | ;draw_line dd __sys_draw_line |
202 | ;draw_line dd __sys_draw_line |
203 | ;draw_pointer dd __sys_draw_pointer |
203 | ;draw_pointer dd __sys_draw_pointer |
204 | ;//mike.dld, 2006-08-02 [ |
204 | ;//mike.dld, 2006-08-02 [ |
205 | ;;drawbar dd __sys_drawbar |
205 | ;;drawbar dd __sys_drawbar |
206 | ;;drawbar dd __sys_drawbar.forced |
206 | ;;drawbar dd __sys_drawbar.forced |
207 | ;drawbar dd vesa20_drawbar |
207 | ;drawbar dd vesa20_drawbar |
208 | ;//mike.dld, 2006-08-02 ] |
208 | ;//mike.dld, 2006-08-02 ] |
209 | ;putpixel dd __sys_putpixel |
209 | ;putpixel dd __sys_putpixel |
210 | ; } mike.dld |
210 | ; } mike.dld |
211 | 211 | ||
212 | 212 | ||
213 | align 4 |
213 | align 4 |
214 | keyboard dd 1 |
214 | keyboard dd 1 |
215 | syslang dd 1 |
215 | syslang dd 1 |
216 | 216 | ||
217 | boot_y dd 10 |
217 | boot_y dd 10 |
218 | 218 | ||
219 | pci_bios_entry dd 0 |
219 | pci_bios_entry dd 0 |
220 | dw pci_code_sel |
220 | dw pci_code_sel |
221 | 221 | ||
222 | if __DEBUG__ eq 1 |
222 | if __DEBUG__ eq 1 |
223 | include_debug_strings |
223 | include_debug_strings |
224 | end if |
224 | end if |
225 | 225 | ||
226 | IncludeIGlobals |
226 | IncludeIGlobals |
227 | 227 | ||
228 | align 16 |
228 | align 16 |
229 | gdts: |
229 | gdts: |
230 | 230 | ||
231 | dw gdte-$-1 |
231 | dw gdte-$-1 |
232 | dd gdts |
232 | dd gdts |
233 | dw 0 |
233 | dw 0 |
234 | 234 | ||
235 | ; Attention! Do not change the order of the first four selectors. They are used in Fast System Call |
235 | ; Attention! Do not change the order of the first four selectors. They are used in Fast System Call |
236 | ; must be : os_code, os_data, app_code, app_data, .... |
236 | ; must be : os_code, os_data, app_code, app_data, .... |
237 | 237 | ||
238 | int_code_l: |
238 | int_code_l: |
239 | os_code_l: |
239 | os_code_l: |
240 | dw 0xffff |
240 | dw 0xffff |
241 | dw 0x0000 |
241 | dw 0x0000 |
242 | db 0x00 |
242 | db 0x00 |
243 | dw 11011111b *256 +10011010b |
243 | dw 11011111b *256 +10011010b |
244 | db 0x00 |
244 | db 0x00 |
245 | 245 | ||
246 | int_data_l: |
246 | int_data_l: |
247 | os_data_l: |
247 | os_data_l: |
248 | dw 0xffff |
248 | dw 0xffff |
249 | dw 0x0000 |
249 | dw 0x0000 |
250 | db 0x00 |
250 | db 0x00 |
251 | dw 11011111b *256 +10010010b |
251 | dw 11011111b *256 +10010010b |
252 | db 0x00 |
252 | db 0x00 |
253 | 253 | ||
254 | app_code_l: |
254 | app_code_l: |
255 | dw 0xFFFF |
255 | dw 0xFFFF |
256 | dw 0 |
256 | dw 0 |
257 | db 0 |
257 | db 0 |
258 | db cpl3 |
258 | db cpl3 |
259 | dw G32+D32+0xF; |
259 | dw G32+D32+0xF; |
260 | 260 | ||
261 | app_data_l: |
261 | app_data_l: |
262 | dw 0xFFFF |
262 | dw 0xFFFF |
263 | dw 0 |
263 | dw 0 |
264 | db 0 |
264 | db 0 |
265 | db drw3 |
265 | db drw3 |
266 | dw G32+D32+0xF; |
266 | dw G32+D32+0xF; |
267 | 267 | ||
268 | ; ------------- PCI BIOS ------------------ |
268 | ; ------------- PCI BIOS ------------------ |
269 | 269 | ||
270 | pci_code_32: |
270 | pci_code_32: |
271 | dw 0 ;lim 0-15 |
271 | dw 0 ;lim 0-15 |
272 | dw 0 ;base 0-15 |
272 | dw 0 ;base 0-15 |
273 | db 0 ;base 16-23 |
273 | db 0 ;base 16-23 |
274 | db cpl0 ;type |
274 | db cpl0 ;type |
275 | db D32 ;lim 16-19+props |
275 | db D32 ;lim 16-19+props |
276 | db 0 ;base 24-31 |
276 | db 0 ;base 24-31 |
277 | 277 | ||
278 | pci_data_32: |
278 | pci_data_32: |
279 | dw 0 ;lim 0-15 |
279 | dw 0 ;lim 0-15 |
280 | dw 0 ;base 0-15 |
280 | dw 0 ;base 0-15 |
281 | db 0 ;base 16-23 |
281 | db 0 ;base 16-23 |
282 | db dpl0 ;type |
282 | db dpl0 ;type |
283 | db D32 ;lim 16-19+props |
283 | db D32 ;lim 16-19+props |
284 | db 0 ;base 24-31 |
284 | db 0 ;base 24-31 |
285 | 285 | ||
286 | ; --------------- APM --------------------- |
286 | ; --------------- APM --------------------- |
287 | apm_code_32: |
287 | apm_code_32: |
288 | dw 0x0f ; limit 64kb |
288 | dw 0x0f ; limit 64kb |
289 | db 0, 0, 0 |
289 | db 0, 0, 0 |
290 | dw 11010000b *256 +10011010b |
290 | dw 11010000b *256 +10011010b |
291 | db 0x00 |
291 | db 0x00 |
292 | apm_code_16: |
292 | apm_code_16: |
293 | dw 0x0f |
293 | dw 0x0f |
294 | db 0, 0, 0 |
294 | db 0, 0, 0 |
295 | dw 10010000b *256 +10011010b |
295 | dw 10010000b *256 +10011010b |
296 | db 0x00 |
296 | db 0x00 |
297 | apm_data_16: |
297 | apm_data_16: |
298 | dw 0x0f |
298 | dw 0x0f |
299 | db 0, 0, 0 |
299 | db 0, 0, 0 |
300 | dw 10010000b *256 +10010010b |
300 | dw 10010000b *256 +10010010b |
301 | db 0x00 |
301 | db 0x00 |
302 | ; ----------------------------------------- |
302 | ; ----------------------------------------- |
303 | 303 | ||
304 | graph_data_l: |
304 | graph_data_l: |
305 | 305 | ||
306 | dw 0x7ff |
306 | dw 0x7ff |
307 | dw 0x0000 |
307 | dw 0x0000 |
308 | db 0x00 |
308 | db 0x00 |
309 | dw 11010000b *256 +11110010b |
309 | dw 11010000b *256 +11110010b |
310 | db 0x00 |
310 | db 0x00 |
311 | tss0_l: |
311 | tss0_l: |
312 | dw sizeof.TSS-1 |
312 | dw sizeof.TSS-1 |
313 | dw tss and 0xFFFF |
313 | dw tss and 0xFFFF |
314 | db (tss shr 16) and 0xFF |
314 | db (tss shr 16) and 0xFF |
315 | db 10001001b |
315 | db 10001001b |
316 | dw (tss shr 16) and 0xFF00 |
316 | dw (tss shr 16) and 0xFF00 |
317 | 317 | ||
318 | tls_data_l: |
318 | tls_data_l: |
319 | dw 0x0FFF |
319 | dw 0x0FFF |
320 | dw 0 |
320 | dw 0 |
321 | db 0 |
321 | db 0 |
322 | db drw3 |
322 | db drw3 |
323 | dw D32 |
323 | dw D32 |
324 | 324 | ||
325 | endofcode: |
325 | endofcode: |
326 | gdte: |
326 | gdte: |
327 | 327 | ||
328 | diff16 "end of .data segment",0,$ |
328 | diff16 "end of .data segment",0,$ |
329 | 329 | ||
330 | align 16 |
330 | align 16 |
331 | cur_saved_data: |
331 | cur_saved_data: |
332 | rb 4096 |
332 | rb 4096 |
333 | fpu_data: |
333 | fpu_data: |
334 | rb 512 |
334 | rb 512 |
335 | 335 | ||
336 | mem_block_list rd 64*2 |
336 | mem_block_list rd 64*2 |
337 | mem_used_list rd 64*2 |
337 | mem_used_list rd 64*2 |
338 | mem_hash_cnt rd 64 |
338 | mem_hash_cnt rd 64 |
339 | 339 | ||
340 | cpu_freq rq 1 |
340 | cpu_freq rq 1 |
341 | 341 | ||
342 | heap_mutex MUTEX |
342 | heap_mutex MUTEX |
343 | heap_size rd 1 |
343 | heap_size rd 1 |
344 | heap_free rd 1 |
344 | heap_free rd 1 |
345 | heap_blocks rd 1 |
345 | heap_blocks rd 1 |
346 | free_blocks rd 1 |
346 | free_blocks rd 1 |
347 | 347 | ||
348 | mem_block_mask rd 2 |
348 | mem_block_mask rd 2 |
349 | next_memblock rd 1 |
349 | next_memblock rd 1 |
350 | 350 | ||
351 | 351 | ||
352 | mst MEM_STATE |
352 | mst MEM_STATE |
353 | 353 | ||
354 | page_start rd 1 |
354 | page_start rd 1 |
355 | page_end rd 1 |
355 | page_end rd 1 |
356 | sys_page_map rd 1 |
356 | sys_page_map rd 1 |
357 | os_stack_seg rd 1 |
357 | os_stack_seg rd 1 |
358 | 358 | ||
359 | 359 | ||
360 | srv.fd rd 1 |
360 | srv.fd rd 1 |
361 | srv.bk rd 1 |
361 | srv.bk rd 1 |
362 | 362 | ||
363 | 363 | ||
364 | align 16 |
364 | align 16 |
365 | 365 | ||
366 | _display display_t |
366 | _display display_t |
367 | 367 | ||
368 | _WinMapAddress rd 1 |
368 | _WinMapAddress rd 1 |
369 | _WinMapSize rd 1 |
369 | _WinMapSize rd 1 |
370 | 370 | ||
371 | LFBAddress rd 1 |
371 | LFBAddress rd 1 |
372 | Screen_Max_X rd 1 |
372 | Screen_Max_X rd 1 |
373 | Screen_Max_Y rd 1 |
373 | Screen_Max_Y rd 1 |
374 | 374 | ||
375 | SCR_MODE rw 2 |
375 | SCR_MODE rw 2 |
376 | 376 | ||
377 | PUTPIXEL rd 1 |
377 | PUTPIXEL rd 1 |
378 | GETPIXEL rd 1 |
378 | GETPIXEL rd 1 |
379 | 379 | ||
380 | if VESA_1_2_VIDEO |
380 | if VESA_1_2_VIDEO |
381 | BANK_SWITCH rd 1 reserved for vesa 1.2 |
381 | BANK_SWITCH rd 1 reserved for vesa 1.2 |
382 | BANK_RW rd 1 |
382 | BANK_RW rd 1 |
383 | end if |
383 | end if |
384 | 384 | ||
385 | REDRAW_BACKGROUND rb 4 |
385 | REDRAW_BACKGROUND rb 4 |
386 | 386 | ||
387 | align 4 |
387 | align 4 |
388 | draw_data: rb 16*256 |
388 | draw_data: rb 16*256 |
389 | BPSLine_calc_area rd 1440 |
389 | BPSLine_calc_area rd 1440 |
390 | d_width_calc_area rd 1140 |
390 | d_width_calc_area rd 1140 |
391 | 391 | ||
392 | mouseunder rd 16*24 |
392 | mouseunder rd 16*24 |
393 | 393 | ||
394 | MOUSE_PICTURE rd 1 |
394 | MOUSE_PICTURE rd 1 |
395 | 395 | ||
396 | MOUSE_SCROLL_H rw 1 |
396 | MOUSE_SCROLL_H rw 1 |
397 | MOUSE_X: rw 1 |
397 | MOUSE_X: rw 1 |
398 | MOUSE_Y: rw 1 |
398 | MOUSE_Y: rw 1 |
399 | MOUSE_SCROLL_V rw 1 |
399 | MOUSE_SCROLL_V rw 1 |
400 | 400 | ||
401 | X_UNDER rw 1 |
401 | X_UNDER rw 1 |
402 | Y_UNDER rw 1 |
402 | Y_UNDER rw 1 |
403 | COLOR_TEMP rd 1 |
403 | COLOR_TEMP rd 1 |
404 | MOUSE_COLOR_MEM rd 1 |
404 | MOUSE_COLOR_MEM rd 1 |
405 | 405 | ||
406 | BTN_DOWN: rb 4 |
406 | BTN_DOWN: rb 4 |
407 | 407 | ||
408 | align 4 |
408 | align 4 |
409 | def_cursor rd 1 |
409 | def_cursor rd 1 |
410 | def_cursor_clock rd 1 |
410 | def_cursor_clock rd 1 |
411 | current_cursor rd 1 |
411 | current_cursor rd 1 |
412 | hw_cursor rd 1 |
412 | hw_cursor rd 1 |
413 | cur_saved_base rd 1 |
413 | cur_saved_base rd 1 |
414 | 414 | ||
415 | cur.lock rd 1 ;1 - lock update, 2- hide |
415 | cur.lock rd 1 ;1 - lock update, 2- hide |
416 | cur.left rd 1 ;cursor clip box |
416 | cur.left rd 1 ;cursor clip box |
417 | cur.top rd 1 |
417 | cur.top rd 1 |
418 | cur.right rd 1 |
418 | cur.right rd 1 |
419 | cur.bottom rd 1 |
419 | cur.bottom rd 1 |
420 | cur.w rd 1 |
420 | cur.w rd 1 |
421 | cur.h rd 1 |
421 | cur.h rd 1 |
422 | 422 | ||
423 | ipc_tmp rd 1 |
423 | ipc_tmp rd 1 |
424 | ipc_pdir rd 1 |
424 | ipc_pdir rd 1 |
425 | ipc_ptab rd 1 |
425 | ipc_ptab rd 1 |
426 | 426 | ||
427 | proc_mem_map rd 1 |
427 | proc_mem_map rd 1 |
428 | proc_mem_pdir rd 1 |
428 | proc_mem_pdir rd 1 |
429 | proc_mem_tab rd 1 |
429 | proc_mem_tab rd 1 |
430 | 430 | ||
431 | tmp_task_pdir rd 1 |
431 | tmp_task_pdir rd 1 |
432 | tmp_task_ptab rd 1 |
432 | tmp_task_ptab rd 1 |
433 | 433 | ||
434 | default_io_map rd 1 |
434 | default_io_map rd 1 |
435 | 435 | ||
436 | LFBSize rd 1 |
436 | LFBSize rd 1 |
437 | 437 | ||
438 | current_slot rd 1 |
438 | current_slot rd 1 |
439 | 439 | ||
440 | ; status |
440 | ; status |
441 | hd1_status rd 1 ; 0 - free : other - pid |
441 | hd1_status rd 1 ; 0 - free : other - pid |
442 | application_table_owner rd 1 ; 0 - free : other - pid |
442 | application_table_owner rd 1 ; 0 - free : other - pid |
443 | application_table_mutex MUTEX |
443 | application_table_mutex MUTEX |
444 | 444 | ||
445 | ; device addresses |
445 | ; device addresses |
446 | mididp rd 1 |
446 | mididp rd 1 |
447 | midisp rd 1 |
447 | midisp rd 1 |
448 | 448 | ||
449 | cdbase rd 1 |
449 | cdbase rd 1 |
450 | cdid rd 1 |
450 | cdid rd 1 |
451 | 451 | ||
452 | hdbase rd 1 ; for boot 0x1f0 |
452 | hdbase rd 1 ; for boot 0x1f0 |
453 | hdid rd 1 |
453 | hdid rd 1 |
454 | hdpos rd 1 ; for boot 0x1 |
454 | hdpos rd 1 ; for boot 0x1 |
455 | label known_part dword |
455 | label known_part dword |
456 | fat32part rd 1 ; for boot 0x1 |
456 | fat32part rd 1 ; for boot 0x1 |
457 | cdpos rd 1 |
457 | cdpos rd 1 |
458 | 458 | ||
459 | ;CPUID information |
459 | ;CPUID information |
460 | cpu_vendor rd 3 |
460 | cpu_vendor rd 3 |
461 | cpu_sign rd 1 |
461 | cpu_sign rd 1 |
462 | cpu_info rd 1 |
462 | cpu_info rd 1 |
463 | cpu_caps rd 4 |
463 | cpu_caps rd 4 |
464 | 464 | ||
465 | 465 | ||
466 | pg_data PG_DATA |
466 | pg_data PG_DATA |
467 | heap_test rd 1 |
467 | heap_test rd 1 |
468 | 468 | ||
469 | buttontype rd 1 |
469 | buttontype rd 1 |
470 | windowtypechanged rd 1 |
470 | windowtypechanged rd 1 |
471 | 471 | ||
472 | hd_entries rd 1 ;unused ? 0xfe10 |
472 | hd_entries rd 1 ;unused ? 0xfe10 |
473 | 473 | ||
474 | mouse_active rd 1 |
474 | mouse_active rd 1 |
475 | mouse_pause rd 1 |
475 | mouse_pause rd 1 |
476 | 476 | ||
477 | redrawmouse_unconditional rd 1 |
477 | redrawmouse_unconditional rd 1 |
478 | 478 | ||
479 | img_background rd 1 |
479 | img_background rd 1 |
480 | mem_BACKGROUND rd 1 |
480 | mem_BACKGROUND rd 1 |
481 | static_background_data rd 1 |
481 | static_background_data rd 1 |
482 | 482 | ||
483 | BgrDrawMode rd 1 |
483 | BgrDrawMode rd 1 |
484 | BgrDataWidth rd 1 |
484 | BgrDataWidth rd 1 |
485 | BgrDataHeight rd 1 |
485 | BgrDataHeight rd 1 |
486 | 486 | ||
487 | skin_data rd 1 |
487 | skin_data rd 1 |
488 | 488 | ||
489 | cache_ide0: |
489 | cache_ide0: |
490 | cache_ide0_pointer rd 1 |
490 | cache_ide0_pointer rd 1 |
491 | cache_ide0_size rd 1 ; not use |
491 | cache_ide0_size rd 1 ; not use |
492 | cache_ide0_data_pointer rd 1 |
492 | cache_ide0_data_pointer rd 1 |
493 | cache_ide0_system_data_size rd 1 ; not use |
493 | cache_ide0_system_data_size rd 1 ; not use |
494 | cache_ide0_appl_data_size rd 1 ; not use |
494 | cache_ide0_appl_data_size rd 1 ; not use |
495 | cache_ide0_system_data rd 1 |
495 | cache_ide0_system_data rd 1 |
496 | cache_ide0_appl_data rd 1 |
496 | cache_ide0_appl_data rd 1 |
497 | cache_ide0_system_sad_size rd 1 |
497 | cache_ide0_system_sad_size rd 1 |
498 | cache_ide0_appl_sad_size rd 1 |
498 | cache_ide0_appl_sad_size rd 1 |
499 | cache_ide0_search_start rd 1 |
499 | cache_ide0_search_start rd 1 |
500 | cache_ide0_appl_search_start rd 1 |
500 | cache_ide0_appl_search_start rd 1 |
501 | 501 | ||
502 | cache_ide1: |
502 | cache_ide1: |
503 | cache_ide1_pointer rd 1 |
503 | cache_ide1_pointer rd 1 |
504 | cache_ide1_size rd 1 ; not use |
504 | cache_ide1_size rd 1 ; not use |
505 | cache_ide1_data_pointer rd 1 |
505 | cache_ide1_data_pointer rd 1 |
506 | cache_ide1_system_data_size rd 1 ; not use |
506 | cache_ide1_system_data_size rd 1 ; not use |
507 | cache_ide1_appl_data_size rd 1 ; not use |
507 | cache_ide1_appl_data_size rd 1 ; not use |
508 | cache_ide1_system_data rd 1 |
508 | cache_ide1_system_data rd 1 |
509 | cache_ide1_appl_data rd 1 |
509 | cache_ide1_appl_data rd 1 |
510 | cache_ide1_system_sad_size rd 1 |
510 | cache_ide1_system_sad_size rd 1 |
511 | cache_ide1_appl_sad_size rd 1 |
511 | cache_ide1_appl_sad_size rd 1 |
512 | cache_ide1_search_start rd 1 |
512 | cache_ide1_search_start rd 1 |
513 | cache_ide1_appl_search_start rd 1 |
513 | cache_ide1_appl_search_start rd 1 |
514 | 514 | ||
515 | cache_ide2: |
515 | cache_ide2: |
516 | cache_ide2_pointer rd 1 |
516 | cache_ide2_pointer rd 1 |
517 | cache_ide2_size rd 1 ; not use |
517 | cache_ide2_size rd 1 ; not use |
518 | cache_ide2_data_pointer rd 1 |
518 | cache_ide2_data_pointer rd 1 |
519 | cache_ide2_system_data_size rd 1 ; not use |
519 | cache_ide2_system_data_size rd 1 ; not use |
520 | cache_ide2_appl_data_size rd 1 ; not use |
520 | cache_ide2_appl_data_size rd 1 ; not use |
521 | cache_ide2_system_data rd 1 |
521 | cache_ide2_system_data rd 1 |
522 | cache_ide2_appl_data rd 1 |
522 | cache_ide2_appl_data rd 1 |
523 | cache_ide2_system_sad_size rd 1 |
523 | cache_ide2_system_sad_size rd 1 |
524 | cache_ide2_appl_sad_size rd 1 |
524 | cache_ide2_appl_sad_size rd 1 |
525 | cache_ide2_search_start rd 1 |
525 | cache_ide2_search_start rd 1 |
526 | cache_ide2_appl_search_start rd 1 |
526 | cache_ide2_appl_search_start rd 1 |
527 | 527 | ||
528 | cache_ide3: |
528 | cache_ide3: |
529 | cache_ide3_pointer rd 1 |
529 | cache_ide3_pointer rd 1 |
530 | cache_ide3_size rd 1 ; not use |
530 | cache_ide3_size rd 1 ; not use |
531 | cache_ide3_data_pointer rd 1 |
531 | cache_ide3_data_pointer rd 1 |
532 | cache_ide3_system_data_size rd 1 ; not use |
532 | cache_ide3_system_data_size rd 1 ; not use |
533 | cache_ide3_appl_data_size rd 1 ; not use |
533 | cache_ide3_appl_data_size rd 1 ; not use |
534 | cache_ide3_system_data rd 1 |
534 | cache_ide3_system_data rd 1 |
535 | cache_ide3_appl_data rd 1 |
535 | cache_ide3_appl_data rd 1 |
536 | cache_ide3_system_sad_size rd 1 |
536 | cache_ide3_system_sad_size rd 1 |
537 | cache_ide3_appl_sad_size rd 1 |
537 | cache_ide3_appl_sad_size rd 1 |
538 | cache_ide3_search_start rd 1 |
538 | cache_ide3_search_start rd 1 |
539 | cache_ide3_appl_search_start rd 1 |
539 | cache_ide3_appl_search_start rd 1 |
540 | 540 | ||
541 | debug_step_pointer rd 1 |
541 | debug_step_pointer rd 1 |
542 | 542 | ||
543 | lba_read_enabled rd 1 ; 0 = disabled , 1 = enabled |
543 | lba_read_enabled rd 1 ; 0 = disabled , 1 = enabled |
544 | pci_access_enabled rd 1 ; 0 = disabled , 1 = enabled |
544 | pci_access_enabled rd 1 ; 0 = disabled , 1 = enabled |
545 | 545 | ||
546 | hdd_appl_data rb 1 ; 0 = system cache, 1 - application cache |
546 | hdd_appl_data rb 1 ; 0 = system cache, 1 - application cache |
547 | cd_appl_data rb 1 ; 0 = system cache, 1 - application cache |
547 | cd_appl_data rb 1 ; 0 = system cache, 1 - application cache |
548 | 548 | ||
549 | timer_ticks_enable rb 1 ; for cd driver |
549 | timer_ticks_enable rb 1 ; for cd driver |
550 | 550 | ||
551 | align 4 |
551 | align 4 |
552 | NumBiosDisks rd 1 |
552 | NumBiosDisks rd 1 |
553 | BiosDisksData rb 200h |
553 | BiosDisksData rb 200h |
554 | BiosDiskCaches rb 80h*(cache_ide1-cache_ide0) |
554 | BiosDiskCaches rb 80h*(cache_ide1-cache_ide0) |
555 | BiosDiskPartitions rd 80h |
555 | BiosDiskPartitions rd 80h |
556 | 556 | ||
557 | align 16 |
557 | align 16 |
558 | DRIVE_DATA: rb DRIVE_DATA_SIZE |
558 | DRIVE_DATA: rb DRIVE_DATA_SIZE |
559 | 559 | ||
560 | IncludeUGlobals |
560 | IncludeUGlobals |
561 | 561 | ||
562 | uglobals_size = $ - endofcode |
562 | uglobals_size = $ - endofcode |
563 | 563 | ||
564 | if ~ lang eq sp |
564 | if ~ lang eq sp |
565 | diff16 "end of .bss",0,$ |
565 | diff16 "end of .bss",0,$ |
566 | end if |
566 | end if |
567 | 567 | ||
568 | org (OS_BASE+0x0100000) |
568 | org (OS_BASE+0x0100000) |
569 | 569 | ||
570 | RAMDISK: rb 2880*512 |
570 | RAMDISK: rb 2880*512 |
571 | RAMDISK_FAT: rb 2856*2 |
571 | RAMDISK_FAT: rb 2856*2 |
572 | FLOPPY_FAT: rb 2856*2 |
572 | FLOPPY_FAT: rb 2856*2 |
573 | 573 | ||
574 | _CLEAN_ZONE: |
574 | _CLEAN_ZONE: |
575 | 575 | ||
576 | align 4096 |
576 | align 4096 |
577 | _IDE_DMA rb 16*512 |
577 | _IDE_DMA rb 16*512 |
578 | BgrAuxTable rb 32768 |
578 | BgrAuxTable rb 32768 |
579 | BUTTON_INFO rb 64*1024 |
579 | BUTTON_INFO rb 64*1024 |
580 | RESERVED_PORTS: rb 64*1024 |
580 | RESERVED_PORTS: rb 64*1024 |
581 | FLOPPY_BUFF: rb 18*512 ;one track |
581 | FLOPPY_BUFF: rb 18*512 ;one track |
582 | 582 | ||
583 | sys_pgmap: rb 1024*1024/8> |
583 | sys_pgmap: rb 1024*1024/8> |
584 | > |
584 | > |