I have a TRS-80 Model I with Level II BASIC (1.0 ROM version), 16K RAM in the keyboard unit, an Expansion Interface (final design) with 32K RAM, a Lotharek HxC floppy emulator (emulating two floppy drives), known-good ribbon cables, and an original TRS-80 Voice Synthesizer (c 1980) attached to the expansion port on the Expansion Interface. From the floppy emulator, I can boot TRSDOS 2.3, NEWDOS/80, LDOS 5.3.1, and others.
Simple two or three word tests of the TRS-80 Voice Synthesizer when attached directly to the keyboard's expansion port or the Expansion Interface's expansion port work just fine. But when I run the official TRS-80 Voice Synthesizer demonstration program, I get random bogus errors happening at different points in the program. The program terminates and reports syntax errors at different lines of code (when there are no syntax errors), illegal subroutine calls (when they are valid), various errors on line numbers that don't exist at all, etc. The error reported is always bogus and changes every time the program is run. In terms of program behavior, it also looks like loop variables are changing spontaneously, baling out of the loops early. The code itself is standard Level II BASIC, and is the official Radio Shack source code you see used in all the Voice Synthesizer demos on YouTube.
It's as if internal tables, parsing stack, etc. might be getting corrupted, but the BASIC source code itself is not getting corrupted. I have verified that the source code itself is not changing at all from one run to the next.
I've done a ton of stuff with this system, unrelated to the Voice Synthesizer, and it's always worked perfectly. No weird random errors. No unexpected reboots. Just rock solid, reliable behavior. Only when I introduce the Voice Synthesizer to the mix, and get it to say more than a few words (by running the official demo) do I run into trouble.
I've run every RAM diagnostic I can get my hands on, and RAM always passes with no problems.
I have carefully cleaned all of the card edges involved, but that had no effect on the behavior at all. (They were already pretty clean, so I'm no surprised.)
Temperatures don't seem to be any higher than when I do non-voice-related work on the system.
The Voice Synthesizer power supply is a brand new 12VAC supply from Jameco, and tests perfectly, with appropriate voltage and amperage. I use an adapter to step down from 3.5mm to 2.5mm at the power connector, but that tests fine as well. Good contact, good power. The Voice Synthesizer operates correctly as long as the program is running...the activity LED and speech output are performing just as expected.
I did examine the board inside the Voice Synthesizer, and visual inspection didn't turn up anything suspicious. The board has all its original parts. Capacitors look fine. (I'm more of a software person than a hardware person, so my test equipment and abilities on that front are limited.)
I've tried booting different operating systems and using the flavors of BASIC that come with those operating systems, and the same behavior persists.
Any ideas on what might be causing this type of "random bogus errors in BASIC" behavior when the Voice Synthesizer is involved, or how I might proceed to diagnose it? Could a failing part in the Voice Synthesizer be putting something on the system bus that causes the random errors, even though the synthesizer behaves normally?
Simple two or three word tests of the TRS-80 Voice Synthesizer when attached directly to the keyboard's expansion port or the Expansion Interface's expansion port work just fine. But when I run the official TRS-80 Voice Synthesizer demonstration program, I get random bogus errors happening at different points in the program. The program terminates and reports syntax errors at different lines of code (when there are no syntax errors), illegal subroutine calls (when they are valid), various errors on line numbers that don't exist at all, etc. The error reported is always bogus and changes every time the program is run. In terms of program behavior, it also looks like loop variables are changing spontaneously, baling out of the loops early. The code itself is standard Level II BASIC, and is the official Radio Shack source code you see used in all the Voice Synthesizer demos on YouTube.
It's as if internal tables, parsing stack, etc. might be getting corrupted, but the BASIC source code itself is not getting corrupted. I have verified that the source code itself is not changing at all from one run to the next.
I've done a ton of stuff with this system, unrelated to the Voice Synthesizer, and it's always worked perfectly. No weird random errors. No unexpected reboots. Just rock solid, reliable behavior. Only when I introduce the Voice Synthesizer to the mix, and get it to say more than a few words (by running the official demo) do I run into trouble.
I've run every RAM diagnostic I can get my hands on, and RAM always passes with no problems.
I have carefully cleaned all of the card edges involved, but that had no effect on the behavior at all. (They were already pretty clean, so I'm no surprised.)
Temperatures don't seem to be any higher than when I do non-voice-related work on the system.
The Voice Synthesizer power supply is a brand new 12VAC supply from Jameco, and tests perfectly, with appropriate voltage and amperage. I use an adapter to step down from 3.5mm to 2.5mm at the power connector, but that tests fine as well. Good contact, good power. The Voice Synthesizer operates correctly as long as the program is running...the activity LED and speech output are performing just as expected.
I did examine the board inside the Voice Synthesizer, and visual inspection didn't turn up anything suspicious. The board has all its original parts. Capacitors look fine. (I'm more of a software person than a hardware person, so my test equipment and abilities on that front are limited.)
I've tried booting different operating systems and using the flavors of BASIC that come with those operating systems, and the same behavior persists.
Any ideas on what might be causing this type of "random bogus errors in BASIC" behavior when the Voice Synthesizer is involved, or how I might proceed to diagnose it? Could a failing part in the Voice Synthesizer be putting something on the system bus that causes the random errors, even though the synthesizer behaves normally?