Tuning Your Atari
There's something about music that fascinates kids. Give them a small piano, drums, harmonica, and they will sit for hours creating their own melodies. A few years ago there was a toy piano on the market that contained a tape recorder. This was a big hit with my daughter. Now, she could not only make her own music, but listen to it afterward.
Tuning Your ATARI uses this idea. It is a musical game for children. Type it in and run it, and you will see a simple menu. Choice #3 demonstrates the program. Choice #1 allows you to compose a tune, and Choice #2 will play it back. The tones appear to be made by little figures jumping on a bellows.
Above each figure is the letter name of the tone which that bellows will produce. To operate the bellows, press 1, then press any number from 1-8 on the keyboard. Key one corresponds to the low C; eight to high C. When a number is pressed, the character will jump down on the bellows, flapping his arms as the bellows is compressed. Once the tone is played, he bounces back up to his original position. The program can hold up to 100 notes. If your melody is less than 100 notes, press the escape key and the menu will reappear on the screen. Press #2 to hear your melody.
Young children will enjoy this program just to see the characters jump up and down while they are playing the tunes. Slightly older children will enjoy listening to the tunes that they have created. The letters above the characters do not attract attention, but are a subtle reminder of the names of the notes. After a while, children will begin to associate the letters with the tones of the character. Don't be surprised if you hear your child singing 'A-G-F-G-A-A-A'!
Once again, in this program, we will move the character set out of ROM and into RAM so that we can change some of the characters. In line 70, P1$ should equal h, reverse quotation marks, control D, reverse space, control comma, reverse 1, reverse M, reverse control Q. The characters from K to r are all in reverse. The last character in the string is control period. This string is the machine language subroutine that moves the characters.
Variables Used in This Program
|P1$||= machine language subroutine.|
|M$||= string holds the melody played.|
|A||= location of the new character set. This value is POKEd into 756 to change to the new character set.|
|TONE||= line number that starts the tone for the key pressed.|
|WAIT||= line number for the timing routine.|
|Q||= no function.|
|CHBS||= first decimal location of the new character set.|
|X||= no function - used in FOR...NEXT loops.|
|C||= used in READ for new character set, used for value of key pressed, and for position of character.|
|K||= counter for the note being entered or played.|
|T||= value of the tone to be played.|
|TL||= value used in timing loop.|
|ROUTINE||= the line number that the program goes to when entering the melody, or playing one back.|
by Linda M. Schreiber
Listing: TUNE.BAS Download