'************************************************ '* '* i-Pod Controller 2008-10-26 by JN3XBY '* '************************************************ Dim Key As Byte Dim A As Byte Dim B As Byte Dim C As Byte Dim D As Byte Dim E As Byte Dim F As Byte Dim G As Byte Dim H As Byte Dim I As Byte Ddrd = &B1000010 Portd = &B0000000 Ddrb = &B00000000 Portb = &B11111111 $baud = 19200 $crystal = 8000000 A = 255 B = 85 Main: Key = Pinb If Key = &B11111011 Then Gosub Shuffle If Key = &B11110111 Then Gosub Skip_forward If Key = &B11101111 Then Gosub Pause If Key = &B11011111 Then Gosub Play If Key = &B10111111 Then Gosub Skip_back If Key = &B01111111 Then Gosub Pow_off Waitms 100 Goto Main Shuffle: C = 4 D = 2 E = 0 F = 0 G = 128 H = 122 Gosub Sertrans1 '3Byte Command Waitms 200 Gosub Sertrans_stop Gosub Pow_on Return Pow_off: C = 5 D = 2 E = 0 F = 0 G = 0 H = 4 I = 245 Gosub Sertrans2 '4Byte Command Gosub Sw_off Return Skip_back: C = 3 D = 2 E = 0 F = 8 G = 243 Gosub Sertrans '2Byte Command Gosub Sertrans_stop Gosub Pow_on Return Pause: C = 4 D = 2 E = 0 F = 0 G = 2 H = 248 Gosub Sertrans1 Gosub Sertrans_stop Gosub Pow_on Return Play: C = 4 D = 2 E = 0 F = 0 G = 1 H = 249 Gosub Sertrans1 Gosub Sertrans_stop Gosub Pow_on Return Skip_forward: C = 3 D = 2 E = 0 F = 16 G = 235 Gosub Sertrans Gosub Sertrans_stop Gosub Pow_on Return Vol_dn: C = 3 D = 2 E = 0 F = 4 G = 247 Gosub Sertrans Gosub Sertrans_stop Gosub Pow_on Return Vol_up: C = 3 D = 2 E = 0 F = 2 G = 249 Gosub Sertrans Gosub Sertrans_stop Gosub Pow_on Return Pow_on: Ddrd = &B1000010 Set Portd.6 Return Sw_off: Reset Portd.6 Ddrd = &B0000010 Return Sertrans: Printbin A Printbin B Printbin C Printbin D Printbin E Printbin F Printbin G Waitms 20 Return Sertrans1: Printbin A Printbin B Printbin C Printbin D Printbin E Printbin F Printbin G Printbin H Waitms 20 Return Sertrans2: Printbin A Printbin B Printbin C Printbin D Printbin E Printbin F Printbin G Printbin H Printbin I Waitms 100 Return Sertrans_stop: C = 3 D = 2 E = 0 F = 0 G = 251 Printbin A Printbin B Printbin C Printbin D Printbin E Printbin F Printbin G Waitms 20 Return End