Noise Pollution by wamma [web]
;Noise Pollution
;6.10.2006
;y0bi / wAMMA
org 100h
section .text
mov al,13h
int 10h
;-----------
mov dx,03d4h
mov ah,0x20 ;13h
out dx,ax
;---------------
;dh=03
mov dl,0xc9
mov cx,64
PalLoopO:
mov bx,16*3
PalLoopI:
mov al,bl
rol al,1
imul al
and al,31
add al,32
sub al,cl
jns ok
xor ax,ax
ok:
out dx,al
dec bx
jnz PalLoopI
dec cx
dec cx
dec cx
loop PalLoopO
;---------
push 0x8000
pop ds
SinGenLoop:
mov ax,bx
shr ax,1
add ax,64
cbw
cwd
mov ax,bx
imul al
sub ah,64
xor ax,dx
sar ax,8
mov [bx],ax
inc bx
inc bx
jnz SinGenLoop
;---------
push 0x7000
pop gs
CalcPatternLoop:
mov al,bl
imul al
xchg bp,ax
mov al,bh
imul al
add bp,ax
xor ax,ax
SqrtLoop:
inc ax
sub bp,ax
sub bp,ax
jns SqrtLoop
shl al,2
imul al
shl ah,1
mov [gs:bx],ah
inc bx
jnz CalcPatternLoop
;----------
push 0a000h
pop es
push 0x6000
pop fs
; in al,61h
; or al,3
; out 61h,al
xor si,si
MainLoop:
mov ah,[si]
mov al,[si+128]
mov di,ax
push si
mov si,[si]
mov bp,28*256+64+128*256+128
DrawCirclesLoopY:
DrawCirclesLoopX:
mov al,[gs:bp+di]
add al,[gs:bp+si]
imul al
mov al,ah
mov [fs:bx],ax
mov [fs:bx+256],ax
inc bp
inc bl
inc bl
jnz DrawCirclesLoopX
add bp,128
inc bh
jnz DrawCirclesLoopY
pop si
;------
mov dx,3dah
Wait1:
in al,dx
and al,00001000b
jz Wait1
Wait2:
in al,dx
and al,00001000b
jnz Wait2
; mov al,0d8h
; out 43h,al
; mov ax,[es:128*256+128]
; out 42h,al
DisplayLoop:
mov cl,[fs:bx]
mov ch,cl
add cx,bx
add cl,ch
mov al,cl
imul al
xchg cl,ah
mov al,ch
imul al
add cl,ah
shr cl,2
and cl,0xf
mov al,[fs:bx-1*4-256*4]
sub al,[fs:bx+1*4+256*4]
cbw
sal ax,1
add ax,128
cmp ax,0
jge ok2
xor ax,ax
ok2:
and al,0xf0
add al,cl
mov [es:bx+32],al
inc bx
jnz DisplayLoop
inc si
inc si
in al,60h
cmp al,1
jne MainLoop
retn
[ back to the prod ]
