8-Bit Software Online Conversion

Speech! Fiddle Program - Listing

10DEFFNS="SPCFIDDLE" 20DEFFND="SPCFID" 30MODE128 40OSCLI"K.0|MM|M":OSCLI"FX138,0,128" 50REM 1 2 7 9 8 3 4 6 5 60L%=&72FA 70PROCQ 80$&3701="**" 90$&72F1="**" 100REPEAT 110L%=L%+1 120A%=?L% 130PRINT"&";÷L%;" CODE=";A%;" ";:IF A% >32 PRINT TAB(32)CHR$A% ELSE PRINT 140B$=GET$ 150IFB$="M"THEN PROCMENU:B$="J" 160IFB$="J"THEN PROCQ 170IFB$="C" THEN PROCCHNGE 180IFB$=":" PROCP 190IFB$="@":PRINTTAB(45,15);"SAY WHAT? ";:INPUTS$:OSCLI"*SAY "+S$:VDU31,45,15:P RINTSPC(30):VDU31,0,30:L%=L%-1 200IFB$="[":PRINTTAB(45,15);"SPEAK WHA T?";:INPUTS$:OSCLI"*SPEAK "+S$:VDU31,45, 15:PRINTSPC(30):VDU31,0,30:L%=L%-1 210UNTIL FALSE 220END 230DEFPROCCHNGE 240FORDEL%=1TO100:NEXT:PRINT TAB(0,30) ;" INPUT NEW CHR FOR ";÷L%:AA$=GET$ :AA%=ASC(AA$) 250VDU31,0,30:PRINTSPC(50):VDU31,0,30 260?L%=AA% 270L%=L%-1 280ENDPROC 290DEFPROCP:B%=L%-2 300VDU23,7,1,2,0,0,0,0,0,0,23,7,1,2,0, 0,0,0,0,0,31,0,1 310L%=L%-31:A%=?L%:PRINT"&";÷L%;" CODE =";A%;" ";:IF A%>32 PRINT TAB(32)CHR$A% ELSE PRINT 320VDU31,0,31:L%=B%:ENDPROC 330DEFPROCQ:INPUT"WHERE? "PLC$:IF LEFT $(PLC$,1)="&" C%=FNHX ELSE C%=VAL(PLC$) 340L%=C%-31:CLS:FOR IL%=0 TO 30:A%=?L% :PRINT"&";÷L%;" CODE=";A%;" ";:IF A%>32 PRINT TAB(32)CHR$A% ELSE PRINT 350L%=L%+1:NEXT 360L%=L%-1 370ENDPROC 380DEFFNHX 390PLC$="000"+MID$(PLC$,2):PLC$=RIGHT$ (PLC$,4):D%=0:FORHL%=1TO4:E%=ASC(MID$(PL C$,HL%)) 400IFE%>57 E%=E%-55 ELSE E%=E%-48 410D%=D%*16+E%:NEXT:=D% 420DEFPROCMENU 430REPEAT:CLS:PRINT'"SPEECH FIDDLE BY C.J.RICHARDSON."'"1 ` LOAD ROMSPEECH"'"2 ` LOAD SPEECH"'"3 ` CHANGE DATA" 440PRINT"4 ` TRANSFER DATA FROM SPEECH AREA TO SRAM AREA THEN TO SRRAM"'"5 ` S AVE SRRAM"'"6 ` SAVE SPEECH" 450PRINT"7 ` COPY SWR RAM TO &2000 FOR EDITING"'"8 ` FIND LAST STARS"'"9 ` PUT SRRAM DATA INTO SPEECH DATA AREA" 460PRINT"? ";:REPEAT:D$=GET$:F%=VAL(D$ ):UNTILF%>0AND F%<10:PRINTD$;" HANG ON!" 470IFF%=1:OSCLI".":INPUT "NAME OF SRRA M "D$:PRINT"CTRL BREAK AFTER DRIVE STOPS !":OSCLI"*SRLOAD "+D$+" 8000 6Q" 480IFF%=2:OSCLI".":INPUT "NAME OF SPEE CH "D$:OSCLI"*RUN "+D$ 500IFF%=4:G%=&72F8:FORLLL%=&3F2A TO &4 B00:?LLL%=?G%:G%=G%+1:NEXT:OSCLI"*SRWRIT E 2000 5000 8000 6" 510IFF%=5:OSCLI".":INPUT"SR NAME "D$:O SCLI"*SRSAVE "+D$+" 8000 BFFF 6Q" 520IFF%=6:OSCLI".":INPUT" SPEECH NAME TO SAVE "D$:OSCLI"*SAVE "+D$+" 5500 7800 6000" 530IF F%=7: *SRREAD 2000 5000 8000 6 540IF F%=8:PROCGTM:PRINT"SPACE TO CONT INUE":REPEATUNTILGET 550IF F%=9:G%=&72F8:FORLLL%=&3F2A TO & 4B00:?G%=?LLL%:G%=G%+1:NEXT 560UNTILF%=3:ENDPROC 610DEFPROCGTM:H%=&3700:REPEATH%=H%+1:U NTILCHR$(?H%)="*" AND CHR$(?(H%+1))="*" OR H%=&7000:PRINT"LAST SRAMSTAR IS AT &" ;÷H%+1 620SPRGL%=&72F0:REPEAT SPRGL%=SPRGL%+1 :UNTILCHR$(?SPRGL%)="*" AND CHR$(?(SPRGL %+1))="*" OR SPRGL%=&8000:PRINT"LAST SPE ECH STAR IS AT &";÷SPRGL%+1:ENDPROC