Subversion Repositories Kolibri OS

Rev

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

Rev 2540 Rev 3359
Line 92... Line 92...
92
        xor     edx,edx
92
        xor     edx, edx
93
        div     ecx
93
        div     ecx
94
        push    edx
94
        push    edx
95
        call    int2str
95
        call    int2str
96
        pop     eax
96
        pop     eax
-
 
97
    @@:
97
    @@: or      al,0x30
98
        or      al, 0x30
98
        mov     [ds:di],al
99
        mov     [ds:di], al
99
        inc     di
100
        inc     di
100
        ret
101
        ret
Line 101... Line 102...
101
 
102
 
Line 105... Line 106...
105
        xor     edx,edx
106
        xor     edx, edx
106
        div     ecx
107
        div     ecx
107
        push    edx
108
        push    edx
108
        call    int2strnz
109
        call    int2strnz
109
        pop     eax
110
        pop     eax
-
 
111
    @@:
110
    @@: or      al,0x30
112
        or      al, 0x30
111
        mov     [es:di],al
113
        mov     [es:di], al
112
        inc     di
114
        inc     di
113
        ret
115
        ret
Line 114... Line 116...
114
 
116
 
Line 243... Line 245...
243
        cmp     [s_vesa.ver], '2'
245
        cmp     [s_vesa.ver], '2'
244
;        jb      .lp1
246
;        jb      .lp1
245
        jb      @f    ; We do not use Vesa 1.2 mode is now
247
        jb      @f    ; We do not use Vesa 1.2 mode is now
Line 246... Line 248...
246
 
248
 
-
 
249
        or      cx, 0x4000 ; use LFB
247
        or      cx, 0x4000 ; use LFB
250
.lp1:
248
.lp1:   mov     [es:bx+6],cx               ; +6 : mode number
251
        mov     [es:bx+6], cx              ; +6 : mode number
249
        movzx   ax,byte [es:mi.BitsPerPixel]
252
        movzx   ax, byte [es:mi.BitsPerPixel]
250
        mov     word [es:bx+8],ax               ; +8 : bits per pixel
253
        mov     word [es:bx+8], ax              ; +8 : bits per pixel
Line 251... Line 254...
251
        add     bx,size_of_step                 ; size of record 
254
        add     bx, size_of_step                ; size of record 
Line 313... Line 316...
313
        je      .no_vesa_0x12
316
        je      .no_vesa_0x12
Line 314... Line 317...
314
 
317
 
315
        cmp     word [es:si+6],0x13
318
        cmp     word [es:si+6], 0x13
Line -... Line 319...
-
 
319
        je      .no_vesa_0x13
-
 
320
 
-
 
321
if defined extended_primary_loader
316
        je      .no_vesa_0x13
322
        mov     di, config_file_variables
-
 
323
else
317
 
324
        mov     di, loader_block_error
318
        mov     di,loader_block_error
325
end if
319
        movzx   eax,word[es:si+0]
326
        movzx   eax, word[es:si+0]
320
        mov     ecx,10
327
        mov     ecx, 10
321
        call    int2strnz
328
        call    int2strnz
Line 326... Line 333...
326
        mov     byte[es:di],'x'
333
        mov     byte[es:di], 'x'
327
        inc     di
334
        inc     di
328
        movzx   eax,word[es:si+8]
335
        movzx   eax, word[es:si+8]
329
        call    int2strnz
336
        call    int2strnz
330
        mov     dword[es:di],0x00000d0a
337
        mov     dword[es:di], 0x00000d0a
-
 
338
if defined extended_primary_loader
-
 
339
        mov     si, config_file_variables
-
 
340
else
331
        mov     si,loader_block_error
341
        mov     si, loader_block_error
-
 
342
end if
332
        push    ds
343
        push    ds
333
        push    es
344
        push    es
334
        pop     ds
345
        pop     ds
335
        call    printplain
346
        call    printplain
336
        pop     ds
347
        pop     ds
Line 343... Line 354...
343
.print:
354
.print:
344
        call    printplain
355
        call    printplain
345
        ret        
356
        ret
346
;-----------------------------------------------------------------------------
357
;-----------------------------------------------------------------------------
347
check_first_parm:
358
check_first_parm:
-
 
359
if defined extended_primary_loader
-
 
360
        mov     cx, [number_vm]
-
 
361
        jcxz    .novbemode
-
 
362
        mov     si, modes_table
-
 
363
.findvbemode:
-
 
364
        cmp     [es:si+6], cx
-
 
365
        jnz     @f
-
 
366
        cmp     word [es:si+8], 32
-
 
367
        je      .ok_found_mode
-
 
368
        cmp     word [es:si+8], 24
-
 
369
        je      .ok_found_mode
-
 
370
@@:
-
 
371
        add     si, size_of_step
-
 
372
        cmp     word [es:si], -1
-
 
373
        jnz     .findvbemode
-
 
374
.novbemode:
-
 
375
        mov     ax, [x_save]
-
 
376
        test    ax, ax
-
 
377
        jz      .zerro
-
 
378
        mov     bx, [y_save]
-
 
379
        mov     si, modes_table
-
 
380
        call    .loops
-
 
381
        test    ax, ax
-
 
382
        jz      .ok_found_mode
-
 
383
else
348
        mov     si,word [preboot_graph]
384
        mov     si, word [preboot_graph]
349
        test    si,si
385
        test    si, si
350
        jnz      .no_zero        ;if no zero
386
        jnz     .no_zero         ;if no zero
-
 
387
end if
351
.zerro:
388
.zerro:
352
;        mov     ax,modes_table
389
;        mov     ax,modes_table
353
;        mov     word [cursor_pos],ax
390
;        mov     word [cursor_pos],ax
354
;        mov     word [home_cursor],ax
391
;        mov     word [home_cursor],ax
355
;        mov     word [preboot_graph],ax
392
;        mov     word [preboot_graph],ax
Line 373... Line 410...
373
        call    .loops
410
        call    .loops
374
        test    ax,ax
411
        test    ax, ax
375
        jz     .ok_found_mode
412
        jz      .ok_found_mode
Line 376... Line 413...
376
 
413
 
-
 
414
        mov     si, modes_table
377
        mov     si,modes_table
415
if ~ defined extended_primary_loader
Line 378... Line 416...
378
        jmp     .ok_found_mode
416
        jmp     .ok_found_mode
Line 393... Line 431...
393
        mov    si,modes_table
431
        mov     si, modes_table
394
;        cmp     ax,modes_table
432
;        cmp     ax,modes_table
395
;        jb      .zerro           ;check on correct if bellow
433
;        jb      .zerro           ;check on correct if bellow
396
;        cmp     ax,word [end_cursor]
434
;        cmp     ax,word [end_cursor]
397
;        ja      .zerro           ;check on correct if anymore
435
;        ja      .zerro           ;check on correct if anymore
-
 
436
end if
Line 398... Line 437...
398
 
437
 
399
.ok_found_mode:
438
.ok_found_mode:
400
        mov     word [home_cursor],si
439
        mov     word [home_cursor], si
401
;        mov     word [cursor_pos],si
440
;        mov     word [cursor_pos],si
402
        mov     word [preboot_graph],si
441
        mov     word [preboot_graph], si
Line 403... Line 442...
403
        mov     ax,si
442
        mov     ax, si
Line -... Line 443...
-
 
443
 
404
 
444
        mov     ecx, long_v_table
405
        mov     ecx,long_v_table
445
 
406
 
446
.loop:
407
.loop:  add     ax,size_of_step
447
        add     ax, size_of_step
408
        cmp     ax,word [end_cursor]
448
        cmp     ax, word [end_cursor]
409
        jae     .next_step
449
        jae     .next_step
Line 435... Line 475...
435
        jne     .next
475
        jne     .next
436
        cmp     word [es:si+8],32
476
        cmp     word [es:si+8], 32
437
        je      .ok
477
        je      .ok
438
        cmp     word [es:si+8],24
478
        cmp     word [es:si+8], 24
439
        je      .ok
479
        je      .ok
-
 
480
.next:
440
.next:  add     si,size_of_step
481
        add     si, size_of_step
441
        cmp     word [es:si],-1
482
        cmp     word [es:si], -1
442
        je      .exit
483
        je      .exit
443
        jmp     .loops
484
        jmp     .loops
-
 
485
.ok:
444
.ok:    xor     ax,ax        
486
        xor     ax, ax
445
        ret
487
        ret
-
 
488
.exit:
446
.exit:  or      ax,-1
489
        or      ax, -1
447
        ret
490
        ret
Line 448... Line 491...
448
 
491
 
Line 484... Line 527...
484
        push    si
527
        push    si
485
        pop     word [home_cursor]
528
        pop     word [home_cursor]
486
        jmp     .ok
529
        jmp     .ok
Line -... Line 530...
-
 
530
 
487
 
531
 
488
 
532
.low:
489
.low:   sub     cx,size_of_step
533
        sub     cx, size_of_step
490
        cmp     cx,modes_table
534
        cmp     cx, modes_table
491
        jb      .ok
535
        jb      .ok
492
        push    cx
536
        push    cx