Subversion Repositories Kolibri OS

Rev

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)