Category : Recently Uploaded Files
Archive   : 80XXX_94.ZIP
Filename : SPIRAL.ASM
; Spiral.asm - Author unknown. Flushes screen display down the drain.
.model tiny
.code
public _Spiral
start:
call _Spiral
mov ax,4C00h
int 21h
_Spiral proc far
push ax bx cx dx es ds si di
push cs
pop ds
mov ax,0B800h
mov es,ax ;Set ES = Screen
mov word ptr ds:[Spiral_Count],0Ch
mov word ptr ds:[Starting_Point],0D0h
Spiral_Loop:
mov ax,ds:[Starting_Point]
mov ds:[Step_Count],ax
One_Step_Loop:
mov word ptr ds:[Horiz_Line_Length],39h
mov word ptr ds:[Vert_Line_Length],1
mov di,798h
mov ax,ds:[Spiral_Count]
mov ds:[Line_Count],ax
Move_Horiz_Line_Left:
mov cx,ds:[Horiz_Line_Length]
dec cx
push ds
push es
pop ds
mov si,di
add si,2
cld
rep movsw
pop ds
mov cx,ds:[Vert_Line_Length]
push ds
push es
pop ds
mov si,di
sub si,0A0h
mov ax,0A2h
cld
Move_Vert_Line_Up:
movsw
sub di,ax
sub si,ax
loop Move_Vert_Line_Up
Move_Horiz_Line_Right:
pop ds
mov cx,ds:[Horiz_Line_Length]
push ds
push es
pop ds
mov si,di
sub si,2
std
rep movsw
pop ds
mov cx,ds:[Vert_Line_Length]
inc cx
push ds
push es
pop ds
mov si,di
add si,0a0h
mov ax,0A2h
std
Move_Vert_Line_Down:
movsw
add di,ax
add si,ax
loop Move_Vert_Line_Down
pop ds
add word ptr ds:[Horiz_Line_Length],2
add word ptr ds:[Vert_Line_Length],2
dec word ptr ds:[Line_Count]
jnz Move_Horiz_Line_Left
dec word ptr ds:[Step_Count]
jz Done_One_Spiral
jmp One_Step_Loop
Done_One_Spiral:
sub word ptr ds:[Starting_Point],8
dec word ptr ds:[Spiral_Count]
jz Done_Spiral
jmp Spiral_Loop
Done_Spiral:
pop di si ds es dx cx bx ax
ret
Starting_Point dw ?
Spiral_Count dw ?
Horiz_Line_Length dw ?
Vert_Line_Length dw ?
Step_Count dw ?
Line_Count dw ?
endp _Spiral
end start
Very nice! Thank you for this wonderful archive. I wonder why I found it only now. Long live the BBS file archives!
This is so awesome! 😀 I’d be cool if you could download an entire archive of this at once, though.
But one thing that puzzles me is the “mtswslnkmcjklsdlsbdmMICROSOFT” string. There is an article about it here. It is definitely worth a read: http://www.os2museum.com/wp/mtswslnk/