Jump to content
IGNORED

TI 99/4A interfacing


Vorticon

Recommended Posts

  • 3 weeks later...

This is my new find on Ebay: A Radio Shack voice synthesis chip! It has 64 allophones which are selected by simply supplying the chip with their respective address in ROM. Super simple to interface with only 2 control lines and a 6bit address input. It should be pretty straightforward to connect it to the parallel port of the TI, which will then allow the programmer to have it output virtually any speech sequence. I don't know yet what it sounds like though... This would be particularly useful for XB/Forth programs where one is usually limited to the set vocabulary of the TI speech synth, not so with that chip where unlimited speech is possible. A small support assembly subprogram should allow the XB program to read data statements with the needed speech addresses and send them to the chip via the PIO port.

The fun never ends :)

 

Voice Synthesis Chip

  • Like 1
Link to comment
Share on other sites

Slightly OT, Vorticon, but have you made many attempts to interface the TI with another retro computer via serial connections? I am wondering whether, say, a TI and a CoCo (or Atari800 or whatever) could link up to one another, with proper data transfer protocols, and pass values between one another... In this way, it could theoretically be possible to write a two player strategy game that could be played on two totally different vintage computers without a BBS server or something of the like between them.

 

Simple value passing...

Link to comment
Share on other sites

Yes it would.... I have plans myself for giving this a try... :)

 

First step is to write a test program that will simply write a value over the serial or parallel port. Then write a test program that can read that passed value coming INTO the serial or parallel port... Hell, even I could manage that much. ;)

 

Web99 has proven bootstrapping is not only doable but that it can be done with some speed and without specialty terminal communications software on the receiving end...

 

I would like to assist you in your endeavor if and when you decide to try this out. I bet we could come up with something cool. :D

Link to comment
Share on other sites

If the code ever turns up, TI actually did this with one of the cartridges they were working on: Battlestar Galactica. Player one was on one machine and player two was on another. . .but I have never seen the code in the wild, only a description of how the game was supposed to work (in a TI cartridge flyer that I saw in Saudi Arabia, of all places).

  • Like 1
Link to comment
Share on other sites

I'm thinking Turbo Forth would be the ideal platform for this given the ease of embedding assembly code into it with low level hardware access and rapid cycle testing. Simple value passing may not be enough unless one is playing chess or something as slow paced. For fast action multiplayer games, there will be timing considerations that will require speed, hence the assembly language support need.

I have currently several projects in the oven, including Jetpac and a robotic experiment, not to mention the PIO speech implementation, so it will take me a few months to get around to this. However, if anyone here would like to take a shot at it, I would be very interested in what you come up with. As a proof of concept, a simple XB program could do the trick as Owen suggested with simple variable passing between two machines :)

  • Like 1
Link to comment
Share on other sites

I only have 1 rs232 card currently. I am working on saving up for a second complete setup.

 

I did not consider fast paced games to be possible, but with TF we may have that as a possibility.

 

I was thinking of writing a RISK or STRATEGO or (ahem) Ultimate Planet type game with strategic elements... Chess-ish, I guess you could say. :)

Link to comment
Share on other sites

  • 3 weeks later...
  • 4 months later...

A fun way to launch model rockets using the TI's cassette port based on an inquiry by Omega.

 

Rocket igniter

! *** This section by Ed Hall ***
100 CALL INIT
110 CALL LOAD(16368,79,70,70,32,32,32,36,252)
120 CALL LOAD(16376,79,78,32,32,32,32,36,244)
130 CALL LOAD(8194,37,4,63,240)
140 CALL LOAD(9460,2,12,0,45,29,0,4,91,2,12,0,45,30,0,4,91,203,78)
! ***
150 CALL CLEAR::CALL SCREEN(4)
160 DISPLAY AT(7,4)BEEP:"PRESS ANY KEY TO FIRE!"
170 CALL KEY(0,K,S)::IF S=0 THEN 170
180 CALL SCREEN(12)
190 FOR I=5 TO 0 STEP -1::DISPLAY AT(10,13)BEEP:I::FOR D=1 TO 300::NEXT D::NEXT I
200 CALL SCREEN(7)::DISPLAY AT(14,10)BEEP:"IGNITION!"::CALL LINK("ON")::FOR D=1 TO 1000::NEXT D::CALL LINK("OFF")

https://youtu.be/4FHgEjmP8C4

  • Like 1
Link to comment
Share on other sites

Neat! As the cassette motor switch inside the console is also a transistor, I think I'm right in saying that your circuit will only work if the connections to the remote plug on the cassette cable are the right way round. I'm not sure what the right way round is, but it won't work if they're the wrong way round. ;-)

Link to comment
Share on other sites

Neat! As the cassette motor switch inside the console is also a transistor, I think I'm right in saying that your circuit will only work if the connections to the remote plug on the cassette cable are the right way round. I'm not sure what the right way round is, but it won't work if they're the wrong way round. ;-)

 

Yes you are indeed correct. The tip of the plug has to go to positive and the shaft to the base of the transistor. If that setup is reversed, then the transistor becomes continuously activated.

Link to comment
Share on other sites

Very cool - thanks for sharing!

 

Stuart's right, the output of the cassette motor control is a transistor, it'll only work one way. I just peeked at the TI's schematic and I see that the motor control is the emitter and collector of another NPN transistor which is opto-isolated from the 9901. You might be able to drive a small relay directly from the output. I'd suggest a current limit in series with the relay to preserve battery life.

 

References:

http://www.mainbyte.com/ti99/man/ti99_tech.pdf

https://www.allpinouts.org/index.php/TI-99/4a_Cassette_port

Edited by ElectricLab
Link to comment
Share on other sites

Well, I hope you do not run into much resistance in your efforts. I see you as a transformer of sorts and suspect you can rectify the problem and bridge it into something for which you might be inducted. I diode your phone to help you ferrite out the problem. Alas, I lacked the capacitance to remember your number.

:grin: :grin: :grin: :grin: :grin: :grin:

 

(Sorry, just saw this.)

Link to comment
Share on other sites

In 1984 I asked my brother to connect a relay to the cassette motor control, and I used it in series with the phone line to end a call to my BBS.


We didn't have a Hayes modem manual so didn't know any reliable way to hang up the modem from BBS software. +++ wasn't reliable enough. Fortunately, someone gave me a manual photocopy and I learned how to use DTR and CD wires at the serial port. The "Hang Up Thingy" got scrapped after that.


So, you can definitely get a relay to work.
Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...