'' examples/manual/hardware/out.bas
''
'' NOTICE: This file is part of the FreeBASIC Compiler package and can't
''         be included in other distributions without authorization.
''
'' See Also: https://www.freebasic.net/wiki/wikka.php?wakka=KeyPgOut
'' --------

'speakersound.bas 
Sub Sound(ByVal freq As UInteger, dur As UInteger)
  Dim t As Double,f1 As Unsigned Short
	f1 = 1193181 \ freq
	Out &h61,Inp(&h61) Or 3
	Out &h43,&hb6
	Out &h42,LoByte(f1)
	Out &h42,HiByte(f1)
	t=Timer 
	While ((Timer - t) * 1000) < dur
	  Sleep 0,1
	Wend
	Out &h61,Inp(&h61) And &hfc
End Sub

Sound(523, 60)  'C5
Sound(587, 60)  'D5
Sound(659, 60)  'E5
Sound(698, 60)  'F5
Sound(784, 60)  'G5
Sound(880, 60)  'A5
Sound(988, 60)  'B5
Sound(1046, 60) 'C6 
