\* P11 PIANO november 1989. \* by Daan van Rooijen \* Amatist 63 \* 1703 AS Heerhugowaard \* The Netherlands \* Please do not make changes in this textfile. \* Small modifications made by Russell D. Hoffman \* (with Daan's permission.) December, 1991. \READ PIANO.PIC\SCREEN 0,1,4\OVERLAY 0,X\MOUSE OFF\KEY END=9\MOVE 3 TO O \MOVE 0 TO U\MOVE 0 TO Z\MOV 100 TO #1\SHOW 0,0,1,1\CONVERT #1 \LOCATE 260,181\DISPLAY #1\CONVERT #1\SHOW 52,54,4,4\MOV 1140 TO #2 \MOV 1076 TO #3\MOV 1016 TO #4\MOV 958 TO #5\MOV 905 TO #6\MOV 854 TO #7 \MOV 806 TO #8\MOV 761 TO #9\MOV 719 TO #10\MOV 678 TO #11\MOV 640 TO #12 \MOV 604 TO #13\MOV 1207 TO #15\MOV 570 TO #14\WAIT NOW 1584 \X KEYS\+ \ ON KEY F1 JUMP FIRST\ON KEY F2 JUMP SECOND\ON KEY F3 JUMP THIRD\+ \ ON KEY F4 JUMP FOURTH\ON KEY F5 JUMP FIFTH\ON KEY F6 JUMP SIXTH\+ \ ON KEY F7 JUMP RECORD\ON KEY F8 JUMP EXIT\ON KEY F9 JUMP SHORTER\+ \ ON KEY F10 JUMP LONGER\ON KEY 4209 JUMP ONE\ON KEY 4471 JUMP TWO\+ \ ON KEY 4709 JUMP THREE\ON KEY 4978 JUMP FOUR\ON KEY 5236 JUMP FIVE\+ \ ON KEY 5497 JUMP SIX\ON KEY 5749 JUMP SEVEN\ON KEY 5993 JUMP EIGHT\+ \ ON KEY 6255 JUMP NINE\ON KEY 6512 JUMP TEN\ON KEY 6747 JUMP ELEVEN\+ \ ON KEY 7005 JUMP TWELVE\ON KEY 7777 JUMP ZERO\ON KEY 9064 JUMP HELP\+ \ ON KEY 10279 JUMP THIRTEEN\CALL RESTSCRN\CLEAR KEYBOARD\JUMP LOOP\+ \X THIRD\SHOW 272,158,9,9\MOVE 3 TO O\+ \ MOV 1140 TO #2\MOV 1076 TO #3\MOV 1016 TO #4\MOV 958 TO #5\+ \ MOV 905 TO #6\MOV 854 TO #7\MOV 806 TO #8\MOV 761 TO #9\+ \ MOV 719 TO #10\MOV 678 TO #11\MOV 640 TO #12\MOV 604 TO #13\+ \ MOV 1207 TO #15\MOV 570 TO #14\JUMP LOOP\+ \X FIRST\SHOW 272,158,7,7\MOVE 1 TO O\+ \ MOV 4560 TO #2\MOV 4304 TO #3\MOV 4063 TO #4\MOV 3834 TO #5\+ \ MOV 3619 TO #6\MOV 3416 TO #7\MOV 3224 TO #8\MOV 3043 TO #9\+ \ MOV 2873 TO #10\MOV 2711 TO #11\MOV 2559 TO #12\MOV 2415 TO #13\+ \ MOV 4829 TO #15\MOV 2280 TO #14\JUMP LOOP\+ \X SECOND\SHOW 272,158,8,8\MOVE 2 TO O\+ \ MOV 2280 TO #2\MOV 2152 TO #3\MOV 2031 TO #4\MOV 1917 TO #5\+ \ MOV 1809 TO #6\MOV 1715 TO #7\MOV 1612 TO #8\MOV 1521 TO #9\+ \ MOV 1436 TO #10\MOV 1355 TO #11\MOV 1292 TO #12\MOV 1207 TO #13\+ \ MOV 2415 TO #15\MOV 1140 TO #14\JUMP LOOP\+ \X FOURTH\SHOW 272,158,10,10\MOVE 4 TO O\+ \ MOV 570 TO #2\MOV 538 TO #3\MOV 508 TO #4\MOV 479 TO #5\+ \ MOV 452 TO #6\MOV 427 TO #7\MOV 403 TO #8\MOV 380 TO #9\+ \ MOV 359 TO #10\MOV 339 TO #11\MOV 320 TO #12\MOV 302 TO #13\+ \ MOV 604 TO #15\MOV 285 TO #14\JUMP LOOP\+ \X FIFTH\SHOW 272,158,11,11\MOVE 5 TO O\+ \ MOV 285 TO #2\MOV 269 TO #3\MOV 254 TO #4\MOV 240 TO #5\+ \ MOV 226 TO #6\MOV 213 TO #7\MOV 201 TO #8\MOV 190 TO #9\+ \ MOV 179 TO #10\MOV 169 TO #11\MOV 160 TO #12\MOV 151 TO #13\+ \ MOV 302 TO #15\MOV 143 TO #14\JUMP LOOP\+ \X SIXTH\SHOW 272,158,12,12\MOVE 6 TO O\+ \ MOV 143 TO #2\MOV 134 TO #3\MOV 127 TO #4\MOV 120 TO #5\+ \ MOV 113 TO #6\MOV 107 TO #7\MOV 101 TO #8\MOV 95 TO #9\+ \ MOV 90 TO #10\MOV 85 TO #11\MOV 80 TO #12\MOV 75 TO #13\+ \ MOV 151 TO #15\MOV 71 TO #14\JUMP LOOP\+ \X LONGER\+ \ MULTIPLY #1 BY 2\IF #1>1600\MOVE 1600 TO #1\ENDIF\SHOW 272,180,15\+ \ CONVERT #1\LOCATE 260,181\DISPLAY #1\CONVERT #1\JUMP LOOP\+ \X SHORTER\+ \ DIVIDE #1 BY 2\IF #1=0\MOVE 1 TO #1\ENDIF\SHOW 272,180,15\+ \ CONVERT #1\LOCATE 260,181\DISPLAY #1\CONVERT #1\JUMP LOOP\+ \X HELP\+ \IF U=1\SHOW 148,141,17\WAIT NOW #1\SHOW 148,141,18\PRINT "\WA N",#1\+ \ JUMP LOOP\ELSE\+ \ CLEAR ON KEYS\SHOW 56,35,3,3\WAIT NOW -1\SHOW 96,80,16\JUMP KEYS\+ \X RECORD\+ \ SHOW 98,14,5,5\CURSOR 26,16\MOVE "?" TO #16\QUESTION #16,1\+ \ IF #16="1"\JUMP START_STOP_REC\ELSE\IF #16="2"\JUMP SAVEREC\+ \ ELSE\IF #16="3"\JUMP PLAYREC\ELSE\SHOW 96,80,16\JUMP KEYS\ENDIF\+ \ X START_STOP_REC\+ \ IF U=0\MOVE 1 TO U\EXECUTE DOS>IF EXIST RECORD.MAC DEL RECORD.MAC>NUL\+ \ OPEN RECORD.PRN\PRINT "\X PLAY"\CALL RESTSCRN\JUMP LOOP\ELSE\+ \ IF U=1\MOVE 0 TO U\PRINT "\RETURN"\CLOSE RECORD.PRN\+ \ EXECUTE DOS>REN RECORD.PRN *.MAC>NUL\CALL RESTSCRN\MOVE 1 TO Z\+ \ JUMP RECORD\ENDIF\+ \ X PLAYREC\+ \ CALL RESTSCRN\IF Z=1 AND U=0\+ \ CLEAR MACROS\READ RECORD.MAC\CALLM PLAY\JUMP LOOP\+ \ ELSE\JUMP RECORD\ENDIF\+ \ X SAVEREC\+ \ CALL RESTSCRN\IF Z=1 AND U=0\CLEAR ON KEYS\+ \ WAIT LIMIT -1\SHOW 96,70,6\CURSOR 16,11\MOV "--------" TO #17\QUEST #17,8\+ \ BUILD #18="COPY RECORD.MAC ",#17,".TXT > NUL"\SHOW 96,80,16\+ \ EXECUTE DOS>(#18)\JUMP KEYS\+ \ ELSE\JUMP RECORD\ENDIF\+ \X RESTSCRN\+ \ SHOW 0,0,1\SHOW 272,158,O+6\IF U=1\SHOW 272,169,14\ELSE\SHOW 272,169,13\+ \ ENDIF\SHOW 272,180,15\CONVERT #1\LOCATE 260,181\DISPLAY #1\+ \ CONVERT #1\RETURN\+ \X ZERO\SHOW 44,94,2,2,X\BEEP #1,#14\SHOW 44,94,2,2,X\IF U=1\+ \ PRINT "\BE",#1,",",#14\ENDIF\JUMP LOOP\+ \X ONE\SHOW 72,165,2,2,X \BEEP #1,#13\SHOW 72,165,2,2,X\IF U=1\+ \ PRINT "\BE",#1,",",#13\ENDIF\JUMP LOOP\+ \X TWO\SHOW 84,135,2,2,X \BEEP #1,#12\SHOW 84,135,2,2,X\IF U=1\+ \ PRINT "\BE",#1,",",#12\ENDIF\JUMP LOOP\+ \X THREE\SHOW 100,165,2,2,X\BEEP #1,#11\SHOW 100,165,2,2,X\IF U=1\+ \ PRINT "\BE",#1,",",#11\ENDIF\JUMP LOOP\+ \X FOUR\SHOW 112,135,2,2,X\BEEP #1,#10\SHOW 112,135,2,2,X\IF U=1\+ \ PRINT "\BE",#1,",",#10\ENDIF\JUMP LOOP\+ \X FIVE\SHOW 128,165,2,2,X\BEEP #1,#9\SHOW 128,165,2,2,X\IF U=1\+ \ PRINT "\BE",#1,",",#9\ENDIF\JUMP LOOP\+ \X SIX\SHOW 156,165,2,2,X\BEEP #1,#8\SHOW 156,165,2,2,X\IF U=1\+ \ PRINT "\BE",#1,",",#8\ENDIF\JUMP LOOP\+ \X SEVEN\SHOW 168,135,2,2,X\BEEP #1,#7\SHOW 168,135,2,2,X\IF U=1\+ \ PRINT "\BE",#1,",",#7\ENDIF\JUMP LOOP\+ \X EIGHT\SHOW 184,165,2,2,X\BEEP #1,#6\SHOW 184,165,2,2,X\IF U=1\+ \ PRINT "\BE",#1,",",#6\ENDIF\JUMP LOOP\+ \X NINE\SHOW 196,135,2,2,X\BEEP #1,#5\SHOW 196,135,2,2,X\IF U=1\+ \ PRINT "\BE",#1,",",#5\ENDIF\JUMP LOOP\+ \X TEN\SHOW 212,165,2,2,X\BEEP #1,#4\SHOW 212,165,2,2,X\IF U=1\+ \ PRINT "\BE",#1,",",#4\ENDIF\JUMP LOOP\+ \X ELEVEN\SHOW 224,135,2,2,X\BEEP #1,#3\SHOW 224,135,2,2,X\IF U=1\+ \ PRINT "\BE",#1,",",#3\ENDIF\JUMP LOOP\+ \X TWELVE\SHOW 240,165,2,2,X\BEEP #1,#2\SHOW 240,165,2,2,X\IF U=1\+ \ PRINT "\BE",#1,",",#2\ENDIF\JUMP LOOP\+ \X THIRTEEN\SHOW 264,94,2,2,X\BEEP #1,#15\SHOW 264,94,2,2,X\IF U=1\+ \ PRINT "\BE",#1,",",#15\ENDIF\+ \X LOOP \ JUMP LOOP \X EXIT\+ \ CLEAR SCREEN\IF U=1\CLOSE RECORD.PRN\+ \ EXECUTE DOS>IF EXIST LAST-REC.TXT DEL LAST-REC.TXT>NUL\+ \ EXECUTE DOS>REN RECORD.PRN LAST-REC.TXT>NUL\ENDIF\+ \ EXECUTE DOS>IF EXIST RECORD.MAC DEL RECORD.MAC>NUL\END\+