home *** CD-ROM | disk | FTP | other *** search
- Program SinScroll;
-
- Var I,J : Word;
- A : Real;
-
- Procedure Ch4; External; {$L Ch4.Obj}
- Procedure Pcx_Tomorito; Assembler;
- ASM
- PUSH DS;
- push es
- mov ax,cs
- mov ds,ax
- mov ax,08000h
- mov es,ax
- lea si,Ch4
- ADD SI,128;
- XOR DI,DI;
- XOR BX,BX;
- XOR CX,CX;
- @DataIn: XOR BX,BX;
- LODSB;
- TEST AL,128;
- JE @@AzAs1;
- INC BX;
- @@AzAs1: TEST AL,64;
- JE @@AzAs2;
- INC BX;
- @@AzAs2: CMP BX,2;
- JE @@Duplazas;
- STOSB;
- CMP DI,5*320;
- JA @@AzAs3;
- JMP @DataIn;
- @@AzAs3: CMP DI,64000;
- JA @@DispEnd;
- JMP @DataIn;
- @@Duplazas: AND AL,63;
- XOR AH,AH;
- MOV CX,AX;
- CMP CX,0;
- JNE @@Mehtt;
- INC CX;
- @@Mehtt: LODSB;
- REPNZ STOSB;
- CMP DI,64000;
- JA @@DispEnd;
- JMP @DataIn;
- @@DispEnd: XOR AL,AL;
- MOV DX,03C8h;
- OUT DX,AL;
- INC DX;
- MOV CX,768;
- @L2: LODSB;
- SHR AL,1;
- SHR AL,1;
- OUT DX,AL;
- LOOP @L2;
- pop es
- POP DS;
- End;
-
-
-
- Begin
- asm
- mov ax,09000h
- mov es,ax
- xor di,di
- xor ax,ax
- mov cx,32000
- rep stosw
- end;
- RandomIze;
- A:=0;
- For I:=0 To 640 Do Begin
- MemW[$9000:60000+I*2]:=Round(Sin(A/8)*16)*320;
- A:=A+(2*pi)/20
- End;
- asm
- push ds
- mov ax,013h
- int 10h
-
-
- call Pcx_tomorito
-
- mov ax,08000h
- mov ds,ax
- mov ax,09000h
- mov es,ax
-
- xor bx,bx
- mov cx,3
- @c7: push cx
- mov di,320
- add di,bx
- xor si,si
- mov cx,20
- @c6: push cx
- mov cx,28
- rep
- db $66
- movsw {!}
- add di,208
- add si,208
- pop cx
- loop @c6
- add bx,106
- pop cx
- loop @c7
- mov dx,320
- xor cx,cx
- mov bx,250
- @b4: push bx
- push cx
- mov ax,09000h
- mov ds,ax
- mov ax,0a000h
- mov es,ax
- mov di,61696
- add di,cx
- mov cx,10
- @b3: push cx
- xor bx,bx
- mov cx,20
- @b2: push cx
- mov si,60000
- add si,dx
- mov cx,80
- @b1: push di
- lodsw
- add di,ax
- mov ax,0f0fh
- push si
- mov si,bx
-
- cmp di,55998
- ja @t2
- cmp di,4800
- jb @t2
- db $66
- movsw
- @t2: pop si
- pop di
- add di,4
- add bx,4
- loop @b1
- pop cx
- loop @b2
- pop cx
- loop @b3
-
- dec dx
- dec dx
- cmp dx,65534
- jne @t1
- mov dx,320
- @t1:
- mov ax,09000h
- mov es,ax
- mov di,320
- mov si,320
- mov cx,18
- @c5: push cx
- lodsw
- push ax
- mov cx,79
- rep
- db $66
- movsw
- pop ax
- stosw
- inc di
- inc di
- inc si
- inc si
- pop cx
- loop @c5
-
- { push dx ;RETRACE
- mov dx,03dah
- @y1: in al,dx
- test al,8
- jz @y1
- @y2: in al,dx
- test al,8
- jnz @y2
- pop dx}
-
- pop cx
- pop bx
- cmp bx,0
- je @t6
- dec bx
- jmp @t4
- @t6: add cx,320
- cmp cx,6400
- jne @t4
- xor cx,cx
- @t4: in al,060h
- cmp al,1
- jne @b4
- pop ds
- mov ax,03h
- int 10h
- end;
- End.
-
- CODE BY TYRANT / MURMIDONES