home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
HOT Scene Stuff
/
hotscenestuffzyklop1996.iso
/
demos
/
sunknown
/
asmifs.asm
< prev
next >
Wrap
Assembly Source File
|
1994-04-07
|
2KB
|
139 lines
; ASMIFS.ASM
; Thomas H.
.model large
public _ifsx ,_ifsy,_ifsdx,_ifsdy,_ifslen,_ifslev,_asmifs
public _drawpage32, _movebak32, _skheight, _writepage32, _blanker
public _onestrip
.code
EVEN
_ifsx dw ?
_ifsy dw ?
_ifsdx dw ?
_ifsdy dw ?
_ifslen dw ?
_skheight dw 7*257
_writepage32 dd ?
calls dw offset line1,offset line1, offset line1, offset line1
dw offset line1,offset line1, offset line1, offset line0
_ifslev db ?
.386
; ***** MOVEBAK32 *****
_movebak32 proc far
mov dl,200
ned32: mov cx,64
rep movsd
add si,64
dec dl
jnz ned32
retf
_movebak32 endp
; ***** TEGNSKJERM32 *****
_drawpage32 proc far
mov dl,200
ned322: mov cx,64
rep movsd
add di,64
dec dl
jnz ned322
retf
_drawpage32 endp
; ***** ASMIFS *****
_asmifs proc far
mov ax,_ifslen
or ah,ah
jz glemdet
mov cx,_ifsx
mov dx,_ifsy
mov bl,_ifslev
mov al,bl
add al,128
xor bh,bh
add bx,bx
add bx,offset calls
jmp [cs:bx]
glemdet:
retf
_asmifs endp
; ***** LINE0 *****
line0 proc near
nextline0:
mov bl,ch
mov bh,dh
mov byte ptr[bx],al
add bx,[cs:_skheight]
or byte ptr[bx],64
add cx,_ifsdx
add dx,_ifsdy
dec ah
jne nextline0
mov _ifsx,cx
mov _ifsy,dx
retf
line0 endp
; ***** LINE1 *****
line1 proc near
mov bl,ah
mov ah,al
mov bp,ax
mov ah,bl
nextline1:
mov bl,ch
mov bh,dh
mov [bx],bp
mov [bx+256],bp
add bx,[cs:_skheight]
or word ptr[bx],64+256*64
or word ptr[bx+256],64+256*64
add cx,_ifsdx
add dx,_ifsdy
dec ah
jne nextline1
mov _ifsx,cx
mov _ifsy,dx
retf
line1 endp
; ***** BLANKER *****
_blanker proc far
les di,_writepage32
xor eax,eax
mov cx,dx
shl cx,6
rep stosd
retf
_blanker endp
; ***** ONESTRIP *****
_onestrip proc far
mov cx,64
rep movsd
retf
_onestrip endp
end