'Play5.bas 'Declaring variables Dim Freq As Word , Var As byte , Duration As Word ', Var1 As Word Dim Ti0 As Bit , Ti1 As Bit , Ti2 As Bit , Ti3 As Bit , Ti4 As Bit Do Ti0 = P3.0 'definition of ports and keys Ti1 = P3.1 Ti2 = P3.2 Ti3 = P3.3 Ti4 = P3.4 If Ti0 = 0 Then Duration = 500 Gosub Tune0 End If 'Assignment of a tone to every key If Ti1 = 0 Then Duration = 500 Gosub Tune1 End If If Ti2 = 0 Then Duration = 500 Gosub Tune2 End If If Ti3 = 0 Then Duration = 500 Gosub Tune3 End If If Ti4 = 0 Then Duration = 500 Gosub Tune4 End If Loop End Tune0: 'subroutine for various melodies Restore Table0 For Var = 1 To 22 Read Freq Sound P3.7 , Duration , Freq Next Return Tune1: 'subroutine for various melodies Restore Table1 For Var = 1 To 15 Read Freq Sound P3.7 , Duration , Freq Next Return Tune2: 'subroutine for various melodies Restore Table2 For Var = 1 To 15 Read Freq Sound P3.7 , Duration , Freq Next Return Tune3: 'subroutine for various melodies Restore Table3 For Var = 1 To 9 Read Freq Sound P3.7 , Duration , Freq Next Return Tune4: 'subroutine for various melodies Restore Table4 For Var = 1 To 21 Read Freq Sound P3.7 , Duration , Freq Next Return Table0: Data 150% , 1% , 150% , 1% , 150% , 1% , 190% , 190% , 190% , 190% , 190% , 190% , 170% , 1% , 170% , 1% , 170% , 1% , 200% , 200% , 200% , 200% Table1: Data 255% , 190% , 190% , 150% , 150% , 250% , 250% , 190% , 200% , 200% , 140% , 140% , 1% , 140% , 140% , 140% Table2: Data 170% , 170% , 200% , 255% , 170% , 170% , 200% , 255% , 230% , 230% , 200% , 190% , 200% , 230% , 230% Table3: Data 150% , 190% , 170% , 255% , 1% , 255% , 170% , 150% , 190% Table4: Data 125% , 125% , 125% , 1% , 125% , 125% , 125% , 1% , 125% , 125% , 125% , 150% , 190% , 200% , 200% , 1% , 170% , 110% , 110% , 125% , 125%