Date : Thu, 27 Jan 2000 16:12:20 +0000 (GMT)
From : Tom Seddon <T.W.Seddon@...>
Subject: Re: Annyong Haseyo!
On Wed, 26 Jan 2000, Barrie Ellis wrote:
> 1) After loading SPEECH! into MODE7, I can't switch to other graphic modes.
> Speech seems to corrupt the machine code memory, so I can't use * calls,
> until I clear the memory using BREAK. This is not a lot of use to someone
> who can't use the keyboard, relying on the switch/sensor interface. Does
> anyone know how to cure this problem without resorting to the keyboard?
There are several things you can do.
Firstly, stick with Mode 7... :-)
Secondly, use the Speech! sideways ROM. This was on the Speech disk; if
you don't have the Speech disk, you should be able to get a copy from
somewhere. Mine is corrupted unfortunately (sibilants are incorrect).
Thirdly, use the Relocate utility from the Speech! disk. This allows you
to put Speech! somewhere else in memory. By default, Speech! lives just
under Mode 7's HIMEM (as another poster stated), allowing a little bit for
the BASIC stack (which also lives there) I suspect; by putting it
somewhere else (&2000 say) you can change to Mode 5, or even Mode 2,
without a problem.... other than the lack of memory.
Fourthly, search through every page of every issue of your complete
collection of Acorn User back issues after Sep 1986 (or so) ;->. In one of
these, and I'm afraid I cannot remember whereabouts, or whenabouts, there
is published a little hack you can perform to Speech to cut its size by
about 2.5K. It just involves *LOADing SPEECH!, then *SAVEing the first (or
last, I forget) 5K or so. This gives you full Speech! functionality bar
*SAY; you still get *SPEAK though and perhaps *PITCH too. This works after
using Relocate as well, I believe, and might be useful in your situation
should memory become tight.
Does the lack of * calls happen after you switch mode? If so, this is a
product of the way Speech! adds its own * commands. The solution to this
is (probably :-) quite simple. Before you fire up Speech!, make a note (in
your program... these values are different for each OS version) of the
values in ?&208 and ?&209. Then when you do something which might stop
Speech! working, poke the old values back into ?&208 and ?&209. Note that
&208 and &209 might be wrong, but I'm 99% sure that's the address of CLIV.
Perhaps someone with a AUG to hand can correct me.
You might also wish to note that Speech! uses pages &9 and &a (I think)
whilst converting from English text to phonemes. ($&A00 is the result of
the last conversion, ISTR.) Be careful if you're putting data there.
Hope at least some of that was helpful.
--Tom
this space filled with this | this space not filled with this space filled
intentionally ............. | with this intentionally unintentionally ....