111,6 → 111,7 |
mov [es:di],al |
inc di |
ret |
|
;------------------------------------------------------- |
;Write message about incorrect v_mode and write message about jmp on swith v_mode |
v_mode_error: |
246,7 → 247,7 |
.lp1: mov [es:bx+6],cx ; +6 : mode number |
movzx ax,byte [es:mi.BitsPerPixel] |
mov word [es:bx+8],ax ; +8 : bits per pixel |
add bx,size_of_step |
add bx,size_of_step ; size of record |
|
@@: |
add si,2 |
414,8 → 415,16 |
@@: |
|
mov word[home_cursor],ax |
push word [preboot_graph] |
pop word [cursor_pos] |
mov si,[preboot_graph] |
mov word [cursor_pos],si |
|
push word [es:si] |
pop word [x_save] |
push word [es:si+2] |
pop word [y_save] |
push word [es:si+6] |
pop word [number_vm] |
|
ret |
;;;;;;;;;;;;;;;;;;;;;;;;;;; |
.loops: |
432,7 → 441,9 |
je .exit |
jmp .loops |
.ok: xor ax,ax |
.exit: ret |
ret |
.exit: or ax,-1 |
ret |
|
|
;----------------------------------------------------------------------------- |
531,14 → 542,15 |
mov bp,long_v_table ;show rows |
.@@_next_bit: |
;clear cursor |
mov word[ds:_r1+21],' ' |
mov word[ds:_r1+50],' ' |
mov ax,' ' |
mov word[ds:_r1+21],ax |
mov word[ds:_r1+50],ax |
|
mov word[ds:_r2+21],' ' |
mov word[ds:_r2+45],' ' |
mov word[ds:_r2+21],ax |
mov word[ds:_r2+45],ax |
|
mov word[ds:_rs+21],' ' |
mov word[ds:_rs+46],' ' |
mov word[ds:_rs+21],ax |
mov word[ds:_rs+46],ax |
; draw string |
cmp word [es:si+6],0x12 |
je .show_0x12 |
646,10 → 658,10 |
mov cx,70 |
mov bp,12 |
.loop_start: |
rep stosw ;®ç¨á⪠®¡« á⨠íªà |
rep stosw |
mov cx,70 |
add di,20 |
dec bp ;㬥ì襨¥ bp, ¢ bp áç¥â稪 |
dec bp |
jns .loop_start |
pop es |
popa |