Hi,
I've finally found on Aminet what I hope will be a great Times Tables program for my 6 year old daughter.
At first I was stuck because I was being told "Sorry, can not mount/find speak-handler" even though I had 'speak-handler' in L along with the required 'narrator.device' in Devs and 'tanslator.library' in Libs. What I could not find was the file 'Speak' to go in Workbench:Storage/DOSDrivers of OS3.9. The author said to search the Internet or a Workbench1.3 floppy for the file 'Speak'. Eventually I realised that he must have meant the file 'Say' and proceeded to rename the fully working file 'Say' as 'Speak'.
This has got it to past the "Sorry, can not mount/find speak-handler" report, but I now get the error at the bottom of the screengrab below.

i.e.
+++ ERROR 18 in line 21: Invalid argument to function
Command returned 10/18: Invalid argument to function
So, can anyone tell me what is wrong with this for the 'TimesTables_All.rexx' please :-?
/* All times tables */
LF=d2c(10); table.='Zero'; Praise.='Yes'
esc=d2c(27)
call table
call reply
/* test for speak handler */
DO
address command 'assign >NIL: speak: exists'
if rc~=0 then address command 'Mount >nil: speak:'
if rc~=0 then do
say 'Sorry. Can not mount/find speak-handler...';exit
end
else open(out,'speak:','w')
END
say 'Hello. Welcome to times table practice.'
say 'Enter X for an answer when you want to stop'lf
writeln(out,"Hello. Welcome to times tables practiss. Enter X for an answer when you want to stop.")
Do forever
kernel=randu(right(time(),2))*1000000000
seed1=random(0,12,kernel)
seed2=random(0,12,kernel)
flashcard='What is 'table.seed2' times 'table.seed1'?'
call drill
end
quit:
say 'Exiting...'
EXIT
drill:
say 'What is 'Seed2' x 'Seed1
writeln(out,flashcard)
Do forever
Pull answer
if upper(answer)='X' then signal quit
else if answer=seed2*seed1 then do
dice=random(0,20,kernel)
/* dice=random(0,20,seed1) */
writeln(out,Praise.dice)
say esc'[0;0H'||esc||'[J'
return
end
else writeln(out,"Wrong. Please try again.")
end
return
table:
table.0='zero'
table.1='one'
table.2='two'
table.3='three'
table.4='four'
table.5='five'
table.6='six'
table.7='seven'
table.8='eight'
table.9='nine'
table.10='ten'
table.11='a lehven'
table.12='twelve'
return
Reply:
Praise.0='Good for you.'
Praise.1='Right.'
Praise.2='Perfect.'
Praise.3='Good.'
Praise.4='Right on.'
Praise.5='Yes.'
Praise.6='You got it.'
Praise.7='Good answer.'
Praise.8='Super.'
Praise.9='That is right.'
Praise.10='Correct.'
Praise.11='Uh huh!'
Praise.12='Keep it up! You are doing fine.'
Praise.13='Right! You will soon be an expert!'
Praise.14='Oh kay.'
Praise.15='Yes. I thought I could trick you with that one.'
Praise.16='Great'
Praise.17='Way to go.'
return
NOTE: The other 12 all fail with the same error at line 23. I'm feel pretty sure it's the same problem and that they just have a couple of extra lines.
Thanks very much.