Jump to content
Vorticon

TI 99/4A interfacing

Recommended Posts

Gotta say, that thing is pretty amazing...

Now we need to source some chips.

Edited by Opry99er

Share this post


Link to post
Share on other sites

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

Share this post


Link to post
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...

Share this post


Link to post
Share on other sites

I actually toyed with the idea of connecting 2 TI's via the parallel port and create a 2 player game, but never got the time to actually test it out. It is certainly feasible. Definitely a future project :) It would make a killer demo at the Chicago Faire!

Share this post


Link to post
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

Share this post


Link to post
Share on other sites

Hey this sounds pretty slick! If you could get it to work with the UDS-10 by the time of the next Faire, there are a number of us with the proper equipment that might not be able to attend, but could at least participate by 'TI-remote'. Imagine watching on Ustream while playing against another TI'er.

Share this post


Link to post
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

Share this post


Link to post
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

Share this post


Link to post
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. :)

Share this post


Link to post
Share on other sites

Cool :) It's a really fun project! You may want to make a double sided PCB instead to reduce the number of jumper wires.

Share this post


Link to post
Share on other sites

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

Share this post


Link to post
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. ;-)

Share this post


Link to post
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.

Share this post


Link to post
Share on other sites

Hey Stuart,

It would be cool to add this code to the next version of the browser. That way if techno-user's wanted to, they could let a program like the chat application activate the port when a message comes in or something. Who knows what else could be done via remote.

Share this post


Link to post
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

Share this post


Link to post
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.)

Share this post


Link to post
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.

Share this post


Link to post
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.

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...