Initial commit

This commit is contained in:
Gwen Gourevich
2021-10-27 10:34:18 +02:00
parent 43ad18eb04
commit c5f4f6ba25
199 changed files with 73169 additions and 0 deletions

244
SOURCES/ADFLI_A.ASM Normal file
View File

@@ -0,0 +1,244 @@
;----------------------------------------------------------------------------
;
;' ADFLI.ASM 386
;' (c) Adeline 1994
;
;----------------------------------------------------------------------------
.386P
.model SMALL, SYSCALL
;----------------------------------------------------------------------------
.data
;----------------------------------------------------------------------------
include \projet\lib386\lib_svga\svga.ash
;----------------------------------------------------------------------------
.code
public NoLanguage DrawFrame
public NoLanguage UpdateFrame
public NoLanguage BlackFrame
public NoLanguage CopyFrame
; public NoLanguage SetPal
; public NoLanguage CpyPal
;----------------------------------------------------------------------------
DrawFrame proc uses esi edi ebx,\
ptframe:DWORD, deltax:DWORD, deltay:DWORD
mov esi, ptframe
mov edi, Log
mov edx, edi
xor eax, eax
NewLine:
lodsb ; Nb Block
or al, al
je EndLine
mov bl, al
SameLine:
lodsb
test al, al
js short CopyPix ;
mov ecx, eax
;----------------------
lodsb
rep stosb
;----------------------
dec bl
jne short SameLine
jmp short EndLine
CopyPix:
;----------------------
neg al
mov ecx, eax
shr ecx, 2
rep movsd
mov cl, al
and cl, 11b
rep movsb
;----------------------
dec bl
jne short SameLine
EndLine:
add edx, [deltax]
mov edi, edx
dec dword ptr [deltay]
jne short NewLine
EndDrawFrame:
ret
DrawFrame endp
;----------------------------------------------------------------------------
UpdateFrame proc uses esi edi ebx,\
ptframe:DWORD, deltax:DWORD
local cptline :WORD
mov esi, ptframe
mov edi, Log
xor eax, eax
lodsw
mov edx, deltax
imul edx
add edi, eax
mov edx, edi
lodsw
mov [cptline], ax
xor eax, eax
NewLine:
lodsb ; Nb Block
or al, al
je EndLine
mov bl, al
SameLine:
lodsb
add edi, eax
lodsb
test al, al
js short RepeatPix ;
mov ecx, eax
shr ecx, 2
rep movsd
mov cl, al
and cl, 11b
rep movsb
dec bl
jne short SameLine
jmp short EndLine
RepeatPix:
neg al
mov ecx, eax
lodsb
rep stosb
dec bl
jne short SameLine
EndLine:
add edx, deltax
mov edi, edx
dec word ptr [cptline]
jne short NewLine
EndUpdateFrame:
ret
UpdateFrame endp
;----------------------------------------------------------------------------
BlackFrame proc uses edi
mov edi, Log
xor eax, eax
mov edx, 200
NextLine:
mov ecx, 320/4
rep stosd
add edi, 320
dec edx
jne NextLine
ret
BlackFrame endp
;----------------------------------------------------------------------------
CopyFrame proc uses esi edi,\
ptsrc:DWORD
mov esi, ptsrc
mov edi, Log
mov edx, 200
NextLine:
mov ecx, 320/4
rep movsd
add edi, 320
dec edx
jne NextLine
ret
CopyFrame endp
;----------------------------------------------------------------------------
comment #
SetPal proc uses esi edi ebx,\
ptsrc:DWORD
mov esi, ptsrc
xor edi, edi
lodsw
mov bx, ax
test bx, bx
je EndSetPal
Again:
xor eax, eax
lodsb
add di, ax
lodsb
mov ecx, eax
or ecx, ecx
jne PlusLoin
mov ecx, 256
PlusLoin:
mov dx, 3C8h
mov ax, di
out dx, al
inc di
inc dx
lodsb
out dx, al
lodsb
out dx, al
lodsb
out dx, al
loop PlusLoin
dec bx
jne Again
EndSetPal:
ret
SetPal endp
;----------------------------------------------------------------------------
CpyPal proc uses esi edi ebx,\
ptsrc:DWORD, ptdst:DWORD
mov esi, ptsrc
mov edi, ptdst
lodsw
mov bx, ax
test bx, bx
je EndCpyPal
Again:
xor eax, eax
lodsb
add di, ax
add di, ax
add di, ax
lodsb
or al, al
jne PlusLoin
mov eax, 256
PlusLoin:
mov ecx, eax
add ecx, eax
add ecx, eax
mfp0: lodsb
shl al, 2
stosb
loop mfp0
; rep movsb
dec bx
jne Again
EndCpyPal:
ret
CpyPal endp
#
;----------------------------------------------------------------------------
; The
End