{ PV> i PLeaSe WaNT To KNoW HoW i CaN MoNiToR iNPuT SouRCeS LiKe PV> THe MiC, LiNe iN, CD iN PoRTS? Here is a simple program I made, just for YOU: } uses crt; {Maybe you must change the ports a bit, the second number isn't always 2} const resetport = $226; datareadyport = $22E; readdataport = $22A; wbsport = $22C; writeport = $22C; procedure wait; begin delay(10); end; procedure writedsp(data : byte);assembler; asm mov dx,wbsport @loop: in al,dx test al,1 shl 7 jnz @loop mov al,data out dx,al end; function readdsp : byte;assembler; asm mov dx,datareadyport @loop: in al,dx test al,1 shl 7 jz @loop mov dx,readdataport in al,dx end; function readsound : byte; begin writedsp($20); readsound := readdsp; end; procedure resetsb;assembler; asm mov dx,resetport mov al,1 out dx,al call wait mov dx,resetport xor al,al out dx,al mov dx,datareadyport @loop: in al,dx test al,1 shl 7 jz @loop mov dx,readdataport in al,dx call readsound end; var x : word; y : byte; oldy : array[0..319] of byte; begin asm mov ax,13h;int 10h; end; resetsb; repeat mem[$A000:x+oldy[x]*320] := 0; y := 100+(readsound-127) div 2; mem[$A000:x+y*320] := 9; oldy[x] := y; x := (x+1) mod 320; until keypressed; asm mov ax,3h;int 10h; end; end.