[Blindapple] running Textalker conditionally
kyle at gmx.ca
Fri Oct 11 16:31:14 EDT 2013
So I partially solved my problem. However, I found that the Talking
Writer disk actually tests whether Textalker is running, which is indeed
one of the things I need, but doesn't appear to check for the presence
of an Echo. I have found that if textalker.ram is running, at least
versions 3.1.2 and 3.1.3, the peek value of 43603 is 124.
Textalker.blind sets the value at the same memory address to 0. If no
textalker at all is running, the value appears to always be 240, but
it's possible that some of the DOS variants I've had trouble with may
put something different there. 240 is the value I get from a DOS Bossed
Pronto-DOS disk with a deleted HELLO program. So it looks like
IF PEEK(43603 = 240 THEN PRINT CHR$(4)"BRUN TEXTALKER.RAM"
or substitute textalker.blind if desired, should effectively be sure
that Textalker is running, and only run it if not, at least on all DOS
3.3 variants that I have found to be compatible with Textalker. However,
I need to take that just one step further, and only detect or run
Textalker if there is an Echo in the computer, probably just bypassing
the Textalker check/run altogether, but possibly beeping or printing an
error if there is no Echo in the computer. After all, running Textalker
has no benefit at all if there is no speech synthesizer.
Looks like I found something specific to detect an Echo speech
synthesizer, but I don't currently have time to test it. It seems I need
to run through a slot loop and call an instruction that should set a
status value if an echo is *not* present in a given slot. Hopefully this
won't depend on Textalker already running to get the information. I'll
test when I can and report back. Thanks.
"Kyle? ... She calls her cake, Kyle?"
Out of This World, season 2 episode 21 - "The Amazing Evie"
More information about the BlindApple