Rev 1505 | Rev 1683 | Go to most recent revision | Show entire file | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed
Rev 1505 | Rev 1508 | ||
---|---|---|---|
Line 1... | Line 1... | ||
1 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; |
1 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; |
2 | ;; ;; |
2 | ;; ;; |
3 | ;; Copyright (C) KolibriOS team 2004-2007. All rights reserved. ;; |
3 | ;; Copyright (C) KolibriOS team 2004-2010. All rights reserved. ;; |
4 | ;; Copyright (C) MenuetOS 2000-2004 Ville Mikael Turjanmaa ;; |
4 | ;; Copyright (C) MenuetOS 2000-2004 Ville Mikael Turjanmaa ;; |
5 | ;; Distributed under terms of the GNU General Public License ;; |
5 | ;; Distributed under terms of the GNU General Public License ;; |
6 | ;; ;; |
6 | ;; ;; |
7 | ;; BOOTCODE.INC ;; |
7 | ;; BOOTCODE.INC ;; |
8 | ;; ;; |
8 | ;; ;; |
9 | ;; KolibriOS 16-bit loader, ;; |
9 | ;; KolibriOS 16-bit loader, ;; |
10 | ;; based on bootcode for MenuetOS ;; |
10 | ;; based on bootcode for MenuetOS ;; |
11 | ;; ;; |
11 | ;; ;; |
12 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; |
12 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; |
Line 13... | Line 13... | ||
13 | 13 | ||
Line 14... | Line 14... | ||
14 | $Revision: 1264 $ |
14 | $Revision: 1508 $ |
15 | 15 | ||
16 | 16 | ||
Line 194... | Line 194... | ||
194 | mov cx, 20h ; 32 symbols |
194 | mov cx, 20h ; 32 symbols |
195 | mov dx, 0E0h ; 224 - position of first symbol |
195 | mov dx, 0E0h ; 224 - position of first symbol |
196 | mov ax, 1100h |
196 | mov ax, 1100h |
197 | int 10h |
197 | int 10h |
198 | ; End set VGA russian font |
198 | ; End set VGA russian font |
199 | else if lang eq et |
- | |
200 | mov bp, ET_FNT ; ET_FNT1 |
- | |
201 | mov bx, 1000h ; |
- | |
202 | mov cx, 255 ; 256 symbols |
- | |
203 | xor dx, dx ; 0 - position of first symbol |
- | |
204 | mov ax, 1100h |
- | |
205 | int 10h |
- | |
206 | end if |
199 | end if |
Line 207... | Line 200... | ||
207 | 200 | ||
208 | ; draw frames |
201 | ; draw frames |
209 | push 0xb800 |
202 | push 0xb800 |
Line 243... | Line 236... | ||
243 | 236 | ||
Line 244... | Line 237... | ||
244 | _setcursor d80x25_top_num,0 |
237 | _setcursor d80x25_top_num,0 |
245 | 238 | ||
246 | 239 | ||
247 | ; TEST FOR 386+ |
240 | ; TEST FOR 386+ |
248 | 241 | jmp cpugood |
|
249 | mov bx, 0x4000 |
242 | ; mov bx, 0x4000 |
250 | pushf |
243 | ; pushf |
251 | pop ax |
244 | ; pop ax |
252 | mov dx, ax |
245 | ; mov dx, ax |
253 | xor ax, bx |
246 | ; xor ax, bx |
254 | push ax |
247 | ; push ax |
255 | popf |
248 | ; popf |
256 | pushf |
249 | ; pushf |
257 | pop ax |
250 | ; pop ax |
258 | and ax, bx |
251 | ; and ax, bx |
259 | and dx, bx |
252 | ; and dx, bx |
260 | cmp ax, dx |
253 | ; cmp ax, dx |
261 | jnz cpugood |
254 | ; jnz cpugood |
262 | mov si, not386 |
255 | ; mov si, not386 |
263 | sayerr: |
256 | sayerr: |
Line 313... | Line 306... | ||
313 | and cx, 0xFFF0 ; clear address decode type |
306 | and cx, 0xFFF0 ; clear address decode type |
314 | mov [es:0x9031], cx |
307 | mov [es:0x9031], cx |
315 | .nopci: |
308 | .nopci: |
316 | ; \end{Mario79} |
309 | ; \end{Mario79} |
Line 317... | Line 310... | ||
317 | 310 | ||
318 | mov al, 0xf6 ; Ñáðîñ êëàâèàòóðû, ðàçðåøèòü ñêàíèðîâàíèå |
311 | ; mov al, 0xf6 ; Ñáðîñ êëàâèàòóðû, ðàçðåøèòü ñêàíèðîâàíèå |
319 | out 0x60, al |
312 | ; out 0x60, al |
320 | xor cx, cx |
313 | ; xor cx, cx |
321 | wait_loop: ; variant 2 |
314 | ;wait_loop: ; variant 2 |
322 | ; reading state of port of 8042 controller |
315 | ; reading state of port of 8042 controller |
323 | in al, 64h |
316 | ; in al, 64h |
324 | and al, 00000010b ; ready flag |
317 | ; and al, 00000010b ; ready flag |
325 | ; wait until 8042 controller is ready |
318 | ; wait until 8042 controller is ready |
Line 326... | Line 319... | ||
326 | loopnz wait_loop |
319 | ; loopnz wait_loop |
327 | 320 | ||
328 | ;;;/diamond today 5.02.2008 |
321 | ;;;/diamond 5.02.2008 |
329 | ; set keyboard typematic rate & delay |
322 | ; set keyboard typematic rate & delay |
330 | mov al, 0xf3 |
323 | ; mov al, 0xf3 |
331 | out 0x60, al |
324 | ; out 0x60, al |
332 | xor cx, cx |
325 | ; xor cx, cx |
333 | @@: |
326 | ;@@: |
334 | in al, 64h |
327 | ; in al, 64h |
335 | test al, 2 |
328 | ; test al, 2 |
336 | loopnz @b |
329 | ; loopnz @b |
337 | mov al, 0 |
330 | ; mov al, 0 |
338 | out 0x60, al |
331 | ; out 0x60, al |
339 | xor cx, cx |
332 | ; xor cx, cx |
340 | @@: |
333 | ;@@: |
341 | in al, 64h |
334 | ; in al, 64h |
342 | test al, 2 |
335 | ; test al, 2 |
343 | loopnz @b |
336 | ; loopnz @b |
344 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; |
337 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; |
345 | ; --------------- APM --------------------- |
338 | ; --------------- APM --------------------- |
346 | and word [es:0x9044], 0 ; ver = 0.0 (APM not found) |
339 | and word [es:0x9044], 0 ; ver = 0.0 (APM not found) |