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 |