Last update: August 30th 2017

Ti99Hdx with modified TI RS232 card (PHP1220)

disk file Download HDX RS232 DSR version 3.0 now
Inclusive a HdxLdr03.bin for the FlashRom99 or FinalGrom99

disk file Download the source code of HDX RS232 DSR version 3.0

Eagle files Download Eagle schematic and PCB files

To use a Texas Instruments RS232 interface card PHP 1220 for the Ti99Hdx project the DSR prom of the RS232 card must be replaced by an 8Kb RAM memory chip. In this memory chip the standard RS232 DSR or a new Ti99Hdx DSR can be loaded with a special DSR loader program. The RAM memory chip has four extra pins but can be wired to the RS232 card like shown RS232 *Kb ram here. Also the interruptline of the RS232 card must be broken because an uninitialized TMS9902 directly generates an interrupt and the console can not find the source of the interrupt if the RS232 card haven't got a DSR loaded yet. To enable the HDX DSR to probe that a PC is connected and that the Ti99Hdx program is running a resistor R19 (4k7) must be removed. The maximum baudrate wich can be used with this option is 38400 baud.

Click RS232 DSR RAM schematic here to view a schematic for the RS232 DSR RAM.

The first version was build on a small experimental board.

RS232 DSR RAM board
Component side B/W
RS232 DSR RAM board
Component side
RS232 DSR RAM board
Solder side
RS232 DSR board ss
Experimental board solder side with cut traces
RS232 DSR board wired
Experimental board compontent side with only the wires
RS232 DSR board finished
Experimental board component side fully populated
RS232 DSR PROM
Original RS232 DSR prom on socket (for test purposes)


The second version was build on a real PCB.

RS232 DSR RAM PCB DESIGN
PCB design created with Eagle 5.7.0 light (free)
RS232 DSR RAM PCB COMPONENT
PCB design component side
RS232 DSR RAM PCB
PCB design solder side
RS232 DSR RAM PCB RESISTORS
First add the resistors and diodes
RS232 DSR RAM PCB BATTERY
Then add the battery holder
RS232 DSR RAM PCB CUT CONNECTOR
Gently cut the socket connector in two
RS232 DSR RAM PCB BACKSIDE
And solder it on the backside of the PCB, but check. check and double check for using the correct holes. Make sure the connector is soldered straight up. Use another IC socket as a guidance.
RS232 DSR RAM PCB COMPLETE
Add the IC socket and the two transistors on the right spot
RS232 DSR RAM PCB BATTERY
If the battery is placed a voltage of 2.7 volts should be available bewteen pin #14 an #28 of the IC socket
RS232 DSR RAM PCB FINISHED
ANd finally a finished product
RS232 CARD with board
TI99 RS232 card with Ti99Hdx board


Bill of materials
Component Value Quant. Price/piece (nov 2008)
R1 1K (1/4w) 1 € 0.02
R2 5K6 (1/4w) 1 € 0.02
R3 1K5 (1/4w) 1 € 0.02
R4 3K3 (1/4w) 1 € 0.02
R5 10K (1/4w) 1 € 0.02
R6 10K (1/4w) 1 € 0.02
D1 1N4148 1 € 0.09
D2 1N4148 1 € 0.09
D3 1N4148 1 € 0.09
Q1 2N3906 1 € 0.29
Q2 2N3904 1 € 0.29
U1 8Kb/32Kb static ram i.e. 6264 1 € 3.90
IC socket 28 Pins 1 € 0.89
IC socket 24 Pins 2 € 0.77
Socket connector 24 Pins 1 € 3.92 (32 pin sil)
Battery clip for CR2032 1 € 0.92
Battery 3V CR2032 1 € 3.79
Switch For card and/or Int enable 0,1 or 2 € 2,19
PCB - 1 € ?.??
Male connector 25 pin subd 1 € 1.29
Male connector 9 pin subd 2 € 0.79
Female connector 9 pin subd 2 € 0.69
Cap for 25p connector- 1 € 0.99
Cap for 9p connector- 4 € 0.99
Cable 1.5 meter, 8 wires 1 € 1.59/mtr
Time to spare enough 1 priceless


The circuitry for the battery backup is almost the same as used in the Mini-Memory module. R1 has a little higher value and R4 a little lower value to make sure that transistor Q2 is switched on in all kinds of variaties like: original PEB and original RS232 card or PEB with switched power supply and original RS232 card or PEB with switched power supply and RS232 card without voltage regulators. I used a battery-clip so that an empty battery can be easily replaced by a fresh one.

A few facts
  • When this PCB is added to the RS232 peripheral card the top of the metal clamp-shell does not fit any more. Some cooling elements for the voltage regulators can be added in some way unless a PC-power supply is used for the Peripheral-Box.
  • Serial port setting is 38400 Baud, 8 data bits, 1 stop bits, even parity and no flow control.
  • An uninitialized TMS9902 UART immediately generates an interrupt which makes it impossible to load the DSR. The interrupt line must be cut or disabled in some way. In this design a switch is added to disable interrupts of the RS232 card if no DSR is loaded yet.
  • The maximum DSR size is 4Kb. The whole >5000->5FFF area is used for the parallel port. The pages 0 and 1 are selected by using the now unused CRU bit 4 of the RS232 peripheral card.
  • The final DSR will use two banks of 4Kb each. The lower half will contain the original RS232 DSR without RS232/2 and the upper part will contain the HDX1 DSR and file buffers for this.
  • The TI is the master of the bus. The PC acts as a server and never send spontaneous messages.
  • There is some hardware signaling build in but not fully used at the PC side because it seems that the COM-port buffer can hold a lot of data, but it works as follows:
    • PEB power on -> DTR on
    • TI sending data -> RTS on
    • TI reading data -> RTS off
    • TI99HDX program not running or PC not connected -> DSR off
    The DSR (Data Set Ready) signal gives problems because that signal is tied to +5V on the TI-side. Must see if this can be changed for RS232/2.
  • There is some sort of error recovery in the HDX1 DSR. Every message over the line haves a checksum. If the TI or the PC notices something wrong it will ask the other side to re send the message.
  • There is no way to write protect the RAM without major changes to the original RS232 card design. I do not want to make major changes because that will make this project to difficult. So there is always a change that the DSR gets overwritten after some obscure system crash.
  • There is no way the switch the interrupt line on/off without major changes to the original RS232 card design. See above.
  • The signal (names) of the RS232 connector are very confusing me. Seems that TI gave it the name of the signal of the other end that should be connected here. If you look at the schematic you see other signal names. I will try to stick to that.


WARNING: Do not start this if you are not absolutely sure that you are able do this.

Many steps to complete succes or total disaster
footprints

  1. You have been warned!
  2. Cut the interrupt line. The most simple location is at the trace of U6, pin #3. Unfortunately this has to be done because it seems that an uninitialized TMS9902 immediately generates interrupts which makes it impossible to load a new DSR.
  3. Remove resistor R19 (4K7). This resistor pulls the DTR signal of RS232/2 to 5V. We need this signal to determine if Ti99Hdx on the PC is running.
  4. Remove the PROM U1. This is the most difficult part. Gently cut all the 24 pins in such a way that you're still able to solder the prom on a 24 pin socket so that you can still go back to the original RS232 card.
  5. Heat up your soldering iron and gently remove the left overs of the prom pins. Be careful not overheat the soldering pads.
  6. Place a 24 pin socket on the place of the just removed PROM. Mind the orientation of the socket. Do not make the same mistake I did!
  7. To check that everything is still in working order you can place the original PROM back if it is soldered on a 24 pin socket. Mind the orientation! Check, check and double check!
  8. Concratulations if your RS232 card still works. Time to take a beer now and leave the rest for another day.
  9. Now create the PCB
  10. Start with cutting the traces as shown in the pictures. Before you start to cut check, check and double check!
  11. Add the wires and check, check and double check!
  12. Add the IC socket and mind the orientation and watch out for shorts and check, check and double check!
  13. Add the print connector. This one is soldered on the bottom side. Make sure that there are no shortcuts.
  14. Add the diodes and mind the orientation and check, check and double check!
  15. Add the resistors never mind the orientation but mind their place and check, check and double check!
  16. Add the transistor Q1 and mind the orientation and its place and check, check and double check!
  17. Add the transistor Q2 and mind the orientation and its place and check, check and double check!
  18. Add the battery clip and mind the orientation and check, check and double check!
  19. Enough for today. Take a rest and a beer.
  20. Check the PCB for shorts, loose contacts etc etc.
  21. Can't say it enough but ... check, check and double check.
  22. Now place the battery in the battery clip and measure the Voltage between pin 14 and 28 of the RAM socket. You haven't placed the RAM chip hey .. I did not tell you to do that yet!
  23. You should measure a voltage between 2.40V - 2.90V
  24. Remove the battery.
  25. Place the RAM chip in its socket. Mind he orientation and (all together know) check, check and double check.
  26. Place the PCB board in the 24 pin socket on the RS232 card.
  27. Connect a wire from address line A12 of the DSR RAM pin #2 to CRU4 (U12, pin #9).
  28. Connect a wire from the CE input of the DSR RAM to the DSRROM signal (U16, pin #9).
  29. Connect a wire from the WE input of the DSR RAM to the WE signal (U15, pin #9).
  30. If necessary, add a switch for enabling interrupts. Leave this switch in the off position. You do not need the interrupts of the RS232 card if you never use communication programs like TELCO etc.
  31. Place the RS232 card in the PE-BOX and switch the PE-BOX on. Your system should not crash, make funny noises, generate strange smells or making smoke signals.
  32. Try to load the DSR with the supplied Ti99Hdx loader. If no error messages are given then the PIO port and RS232/1 port should function. Remember ... if the PE-BOX is switched of at this moment the HDX DSR is gone.
  33. Place the battery in the battery clip.
  34. Place the RS232 card back in the PE-Box.
  35. Reload the DSR with the supplied Ti99Hdx DSR loader.
  36. Enjoy ...

Click photo of the experiment here to view a picture of the experimental change of one of my TI99 RS232 cards.

Click photo of the RS232 card here to view a picture of the more final change of one of my TI99 RS232 cards.



Serial cable

For connecting your own build RS232 card or the standard TI99 RS232 card to the COM port of a PC you can use a standard cross cable, the special RS232 card cable or a RS232 splitter cable with a standard cross cable.

photo of splitter cable
An example of an RS232 splitter cable

Click RS232 splitter cables here to view a schematic for the RS232 splitter cable and cross cable.