Subversion Repositories Kolibri OS

Rev

Rev 947 | Rev 2288 | Go to most recent revision | Show entire file | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 947 Rev 1962
Line 3... Line 3...
3
;; Copyright (C) KolibriOS team 2004-2007. All rights reserved. ;;
3
;; Copyright (C) KolibriOS team 2004-2007. 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
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
Line 7... Line 7...
7
 
7
 
Line 8... Line 8...
8
$Revision: 947 $
8
$Revision: 1962 $
9
 
9
 
10
struc VBE_VGAInfo {
10
struc VBE_VGAInfo {
11
  .VESASignature          dd ?    ; char
11
  .VESASignature          dd ?    ; char
Line 312... Line 312...
312
        je      .no_vesa_0x12
312
        je      .no_vesa_0x12
Line 313... Line 313...
313
 
313
 
314
        cmp     word [es:si+6],0x13
314
        cmp     word [es:si+6],0x13
Line -... Line 315...
-
 
315
        je      .no_vesa_0x13
-
 
316
 
-
 
317
if defined extended_primary_loader
315
        je      .no_vesa_0x13
318
        mov     di,config_file_variables
-
 
319
else
316
 
320
        mov     di,loader_block_error
317
        mov     di,loader_block_error
321
end if
318
        movzx   eax,word[es:si+0]
322
        movzx   eax,word[es:si+0]
319
        mov     ecx,10
323
        mov     ecx,10
320
        call    int2strnz
324
        call    int2strnz
Line 325... Line 329...
325
        mov     byte[es:di],'x'
329
        mov     byte[es:di],'x'
326
        inc     di
330
        inc     di
327
        movzx   eax,word[es:si+8]
331
        movzx   eax,word[es:si+8]
328
        call    int2strnz
332
        call    int2strnz
329
        mov     dword[es:di],0x00000d0a
333
        mov     dword[es:di],0x00000d0a
-
 
334
if defined extended_primary_loader
-
 
335
        mov     si,config_file_variables
-
 
336
else
330
        mov     si,loader_block_error
337
        mov     si,loader_block_error
-
 
338
end if
331
        push    ds
339
        push    ds
332
        push    es
340
        push    es
333
        pop     ds
341
        pop     ds
334
        call    printplain
342
        call    printplain
335
        pop     ds
343
        pop     ds
Line 342... Line 350...
342
.print:
350
.print:
343
        call    printplain
351
        call    printplain
344
        ret        
352
        ret        
345
;-----------------------------------------------------------------------------
353
;-----------------------------------------------------------------------------
346
check_first_parm:
354
check_first_parm:
-
 
355
if defined extended_primary_loader
-
 
356
        mov     cx, [number_vm]
-
 
357
        jcxz    .novbemode
-
 
358
        mov     si, modes_table
-
 
359
.findvbemode:
-
 
360
        cmp     [es:si+6], cx
-
 
361
        jnz     @f
-
 
362
        cmp     word [es:si+8],32
-
 
363
        je      .ok_found_mode
-
 
364
        cmp     word [es:si+8],24
-
 
365
        je      .ok_found_mode
-
 
366
@@:     add     si,size_of_step
-
 
367
        cmp     word [es:si],-1
-
 
368
        jnz     .findvbemode
-
 
369
.novbemode:
-
 
370
        mov     ax, [x_save]
-
 
371
        test    ax, ax
-
 
372
        jz      .zerro
-
 
373
        mov     bx, [y_save]
-
 
374
        mov     si, modes_table
-
 
375
        call    .loops
-
 
376
        test    ax, ax
-
 
377
        jz      .ok_found_mode
-
 
378
else
347
        mov     si,word [preboot_graph]
379
        mov     si,word [preboot_graph]
348
        test    si,si
380
        test    si,si
349
        jnz      .no_zero        ;if no zero
381
        jnz      .no_zero        ;if no zero
-
 
382
end if
350
.zerro:
383
.zerro:
351
;        mov     ax,modes_table
384
;        mov     ax,modes_table
352
;        mov     word [cursor_pos],ax
385
;        mov     word [cursor_pos],ax
353
;        mov     word [home_cursor],ax
386
;        mov     word [home_cursor],ax
354
;        mov     word [preboot_graph],ax
387
;        mov     word [preboot_graph],ax
Line 372... Line 405...
372
        call    .loops
405
        call    .loops
373
        test    ax,ax
406
        test    ax,ax
374
        jz     .ok_found_mode
407
        jz     .ok_found_mode
Line 375... Line 408...
375
 
408
 
-
 
409
        mov     si,modes_table
376
        mov     si,modes_table
410
if ~ defined extended_primary_loader
Line 377... Line 411...
377
        jmp     .ok_found_mode
411
        jmp     .ok_found_mode
Line 392... Line 426...
392
	mov    si,modes_table
426
	mov    si,modes_table
393
;        cmp     ax,modes_table
427
;        cmp     ax,modes_table
394
;        jb      .zerro           ;check on correct if bellow
428
;        jb      .zerro           ;check on correct if bellow
395
;        cmp     ax,word [end_cursor]
429
;        cmp     ax,word [end_cursor]
396
;        ja      .zerro           ;check on correct if anymore
430
;        ja      .zerro           ;check on correct if anymore
-
 
431
end if
Line 397... Line 432...
397
 
432
 
398
.ok_found_mode:
433
.ok_found_mode:
399
        mov     word [home_cursor],si
434
        mov     word [home_cursor],si
400
;        mov     word [cursor_pos],si
435
;        mov     word [cursor_pos],si