1000 REM .-----------------------. 1010 REM ! ! 1020 REM ! SQUARE WAVER ! 1030 REM ! (CC)2006 LD8 ! 1040 REM ! DO WITH IT ! 1050 REM ! WHAT YOU WILL ! 1060 REM ! ! 1070 REM `-----------------------' 2000 HOME : TEXT : PRINT CHR$ (21) 2010 FOR I = 0 TO 25 2020 READ D 2030 POKE 768 + I,D 2040 NEXT 2050 RESTORE 2055 GOSUB 3000 2060 CALL 768 2070 GOSUB 4000 2080 GOTO 2060 3000 REM MAIN SCREEN 3010 PRINT " eeeee eeeee e e eeeee eeeee eeee" 3020 PRINT " 8 8 8 8 8 8 8 8 8 8" 3030 PRINT " 8eeee 8 8 8e 8 8eee8 8eee8e 8eee" 3040 PRINT " 88 8 8 88 8 88 8 88 8 88" 3050 PRINT " 8ee88 8e888 88ee8 88 8 88 8 88ee" 3060 PRINT " 8e ___" 3070 PRINT " /\__\" 3080 PRINT " / / _/_" 3090 PRINT " / / /\ \" 3100 PRINT " / / / \ \" 3110 PRINT " / /_/ /\ \__\" 3120 PRINT " \ \/ / / / /" 3130 PRINT " \ / / / /" 3140 PRINT " \/_/ / /" 3150 PRINT " / / /" 3160 PRINT " \/__/" 3170 PRINT "" 3180 PRINT " e e e eeeee ee e eeee eeeee" 3190 PRINT " 8 8 8 8 8 88 8 8 8 8" 3200 PRINT " 8e 8 8 8eee8 88 e8 8eee 8eee8e" 3210 PRINT " 88 8 8 88 8 8 8 88 88 8" 3220 PRINT " 88ee8ee8 88 8 8ee8 88ee 88 8" 3230 PRINT "" 3240 PRINT " ";: FLASH : PRINT "(?) FOR INSTRUCTIONS";: NORMAL 3250 RETURN 4000 REM INPUT HANDLING 4010 GET IN$ 4020 IF IN$ = "?" THEN 5000 4030 IF ASC (IN$) > 47 AND ASC (IN$) < 58 THEN 6000 4040 IF IN$ = CHR$ (27) THEN HOME : END 4050 RETURN 5000 REM HELP SCREEN 5010 HOME 5020 PRINT " ___ ___" 5030 PRINT " /\ \ /\__\" 5040 PRINT " / \ \ / / _/_" 5050 PRINT " / /\ \ \ / / /\ \" 5060 PRINT " _\ \~\ \ \ / / / \ \" 5070 PRINT "/\ \ \ \ \__\ / /_/ /\ \__\"; 5080 PRINT "\ \ \ \ \/__/ \ \/ / / / /"; 5090 PRINT " \ \ \ \__\ \ / / / /" 5100 PRINT " \ \/ / / \/_/ / /" 5110 PRINT " \ / / JOYSTICK -> NOTE / / /" 5120 PRINT " \/__/ PUSHBUTTON -> PLAY \/__/" 5130 PRINT " 0-9 -> PITCH CONTROL" 5140 PRINT " ___ ESC. EXITS PROGRAM ___" 5150 PRINT " / /\ (CC)2006 LD8.ORG / /\" 5160 PRINT " / / /_ / / \" 5170 PRINT " / / / /\ /__/ /\ \" 5180 PRINT " / / / / \ _\_ \ \ \ \" 5190 PRINT "/__/ / / /\ \ /__/\ \ \ \ \"; 5200 PRINT "\ \ \/ /~/ / \ \ \ \ \_\/"; 5210 PRINT " \ \ / / / \ \ \_\ \" 5220 PRINT " \__\/ / / PRESS \ \ \/ /" 5230 PRINT " /__/ / ANY KEY \ \ /" 5240 PRINT " \__\/ TO ROCK \__\/" 5250 GET IN$ 5260 GOTO 2000 6000 REM PITCH CONTROL 6010 P = ( ASC (IN$) - 48) 6020 FOR I = 0 TO P 6030 PP = 785 + I * 5 6040 POKE PP,162 6050 POKE PP + 1,0 6060 POKE PP + 2,32 6070 POKE PP + 3,30 6080 POKE PP + 4,251 6090 NEXT I 6100 POKE PP + 5,76 6110 POKE PP + 6,0 6120 POKE PP + 7,3 6130 POKE PP + 8,96 6140 POKE 774,(PP - 767) 6150 CALL 768 6160 GOTO 4000 7000 DATA 173,0,192,201,127,16,18,173,97,192,201,128,48,242,173,48,192,162,0,32,30,251,76,0,3,96 8000 END