Building a REX

From Tandy Tech
Revision as of 12:26, 2 August 2019 by Bkw (talk | contribs) (→‎Tools)
Jump to navigation Jump to search

Introduction

Building a REX, BKW version.
This is essentially a REX1 with a modified pcb layout from Steven Adolph's original.
Electronically identical.
Software identical.
PCB shaped to snap into a 3d-printed carrier, and provide connections for power and PORT_EN for programming the CPLD.

Parts & Materials

If the flash memory chip is on backorder: How to Identify a Compatible Flash Chip from Elsewhere

Tools

  • Cheap clone Xilinx Platform USB programmer.
https://www.ebay.com/sch/i.html?_nkw=xilinx+usb&_sop=15
Look at the pictures for ones that say model DLC9G preferrably, or DLC9LP. Don't put "DLC9G" or "DLC9LP" in the search, you will only get the overpriced ones.
Get one that includes a "flying leads" cable, with separate loose individual wires on one end.
  • 5v power source
https://www.ebay.com/sch/i.html?_nkw=usb+ttl+cable&_sop=15
These usb-ttl cables are perfect, in that they are cheap, and already have loose wires with female dupont pins.
  • PC with at least one usb port, and a COM port or usb-serial adapter.
  • Sandpaper, medium grit (120 or so), and a hard flat surface like a cutting board.
Do not necessarily need anything fancy. I actually used this exact one to build a few REXs, although now I use a Hakko FX-888D.
Or the strongest reading glasses you can get at a local drug store. 3.00x or higher.
Don't really need this. The "no-clean" flux above could be left on, or cleaned with warm water.
You only need 10 pins. Break off a section of 6 pins, and a section of 4 pins.
  • A Tandy Model 100, 102, or 200.

Prep the PCB

Lay a piece of medium grit (100-200) sandpaper face up on a hard flat surface like a cutting board.

Sand the edges of the PCB on the sandpaper just enough to clean off the panelization break-away points.

Use magnification to look closely at the castellated edge contacts for copper or gold "flags" hanging on the edge of most contacts. Scrape them off with and xacto knife.

Assembly

Electronic Components

Solder these parts onto the matching labeled locations on the pcb.

29F800 (on the back side)
XCR3064XL
LP2980
R1 = 10K ohm
C1 = 1.0 uF

Don't be afraid of those tiny legs on that TSOP-48 nand flash memory chip. Just use magnifying glasses, lots of flux, and the DRAG TECHNIQUE. Another example: https://youtu.be/09qb0KY_IF4 Use a lot of flux, and little solder.

Pay extreme attention to the flash chip. Use magnification to inspect those legs after soldering. Bridges are easy to get and hard to see on legs that small.

Clean

Even "No-Clean" flux should still be removed as much as possible after soldering. But without an ultrasonic cleaner, it is just about impossible to get the flux cleaned out from under the chips. So, using no-clean just means the flux that inevitably isn't removed, won't be too harmful. Use 99% isopropyl alcohol and a small paint brush to wash the flux off.

Carrier

Just snap the assembled pcb into the carrier. Place the end of the PCB without the big hole in the carrier first, then lower the other end down over the pin on the carrier. Flex the end of the carrier open a little and snap the PCB in.

Programming

Program the CPLD

Now we need to flash the CPLD (Xilinx) with the .jed file. This configures the blank CPLD into a functional circuit that actually does something.

  • Get the .jed file from here.
  • Install Xilinx "ISE 14.7 Lab Tools"
Directions for Ubuntu Linux
  • Connect the "platform usb" programmer to the 6-pin staggered row jtag header with a 1x6 single row male pin header.
  • Connect 5v and PORT_EN jumper to the 4-pin staggered row header in between TP1 & TP2 with a 1x4 single row male pin header.
  • Launch iMPACT
https://drive.google.com/open?id=1K7ySqfbmNTNUpB0WJCxkQRjMr9pZL4MRcM0e8tpEJhc
  • Program the .jed file.

Flash the Firmware

Follow the 4.9 update directions to load the firmware.


The directions for the 4.9 update state that you use any tpdd device to serve the 3 files to the M100/T102/T200, but in fact at least at present, it does not work with actual tpdd1 or tpdd2 drives at all, and is not reliable with just any tpdd server either. You must use specifically LaddieAlpha.

TODO: Document this part better. This is a bullet list, but there are more details involved for each item in order to actually do them.

  • Get a proper serial cable
  • Install any TPDD client on the M100/T102/T200: teeny, floppy, ts-dos. If you don't have anything already, then get the "dlplus" package and run the teeny installer that comes with it.
  • Get LaddieAlpha onto a PC.
  • Get the 3 update files.
  • Run LaddieAlpha in the dir with the 3 update files.
  • Use whatever TPDD client you installed on the M100 to copy rf149.co to the M100.
  • Run rf149.co on the M100.

That was the last step. You're done! Consult the REX docs to start using it!

References

User Manual

Original sources and support files


Copies of some of the sources and support files, and new sources for some things modified from the originals