mirror of https://github.com/nmlgc/ReC98.git
[Maintenance] [th05] Clarify pi_slot_put() a bit
Can't blame WindowsTiger for writing hard-to-review code when he just adapted what I wrote in 2014…
This commit is contained in:
parent
75a779e82a
commit
a5e714b165
|
@ -73,32 +73,38 @@ endp_defconv
|
||||||
|
|
||||||
; ---------------------------------------------------------------------------
|
; ---------------------------------------------------------------------------
|
||||||
|
|
||||||
|
; void pascal pi_slot_put_mask_rowloop(
|
||||||
|
; void far *pi_buf<es:si>,
|
||||||
|
; int h<di>,
|
||||||
|
; int x, int y, int w, size_t stride_packed
|
||||||
|
; );
|
||||||
pi_slot_put_rowloop proc near
|
pi_slot_put_rowloop proc near
|
||||||
@@stride = word ptr [bp+2]
|
@@stride_packed = word ptr [bp+2]
|
||||||
@@len = word ptr [bp+4]
|
@@w = word ptr [bp+4]
|
||||||
@@y = word ptr [bp+6]
|
@@y = word ptr [bp+6]
|
||||||
@@x = word ptr [bp+8]
|
@@x = word ptr [bp+8]
|
||||||
|
@@h equ di
|
||||||
|
|
||||||
mov bp, sp
|
mov bp, sp
|
||||||
|
|
||||||
@@put:
|
@@put_row:
|
||||||
push es
|
push es
|
||||||
call graph_pack_put_8_noclip pascal, @@x, @@y, es, si, @@len
|
call graph_pack_put_8_noclip pascal, @@x, @@y, es, si, @@w
|
||||||
pop es
|
pop es
|
||||||
inc @@y
|
inc @@y
|
||||||
cmp @@y, 400
|
cmp @@y, RES_Y
|
||||||
jb short @@next_row
|
jb short @@next_row
|
||||||
sub @@y, 400
|
sub @@y, RES_Y
|
||||||
|
|
||||||
@@next_row:
|
@@next_row:
|
||||||
add si, @@stride
|
add si, @@stride_packed
|
||||||
mov ax, si
|
mov ax, si
|
||||||
shr ax, 4
|
shr ax, 4
|
||||||
mov dx, es
|
mov dx, es
|
||||||
add dx, ax
|
add dx, ax
|
||||||
mov es, dx
|
mov es, dx
|
||||||
and si, 0Fh
|
and si, 0Fh
|
||||||
dec di
|
dec @@h
|
||||||
jnz short @@put
|
jnz short @@put_row
|
||||||
retn 8
|
retn 8
|
||||||
pi_slot_put_rowloop endp
|
pi_slot_put_rowloop endp
|
||||||
|
|
Loading…
Reference in New Issue