Building a REX: Difference between revisions

From Tandy Tech
Jump to navigation Jump to search
Line 35: Line 35:
=Parts & Materials=
=Parts & Materials=
<!-- ==For Tandy 100/102/200== -->
<!-- ==For Tandy 100/102/200== -->
* PCB: [https://oshpark.com/shared_projects/xR0cUgwi OSHPark] or [https://www.pcbway.com/project/shareproject/REX_Classic__BKW_re_spin.html PCBWAY]   
* PCB: [https://oshpark.com/shared_projects/zFLyhcek OSHPark] or [https://www.pcbway.com/project/shareproject/REX_Classic__BKW_re_spin.html PCBWAY]   
* BOM: [https://www.digikey.com/short/tj7bzf3h Digi-Key]
* BOM: [https://www.digikey.com/short/tj7bzf3h Digi-Key]
* Carrier: [http://shpws.me/SGNn Shapeways] or [https://www.sculpteo.com/en/print/molex78802_pcb_28-12/WcG4p9tn Sculpteo]
* Carrier: [http://shpws.me/SGNn Shapeways] or [https://www.sculpteo.com/en/print/molex78802_pcb_28-12/WcG4p9tn Sculpteo]

Revision as of 07:58, 8 July 2021

Introduction

Building a REX

This is a version of Steven Adolph's REX Classic with a modified PCB design.
It is electrically identical to REX Classic, and uses the REX Classic firmware & software.

The PCB layout and shape are modified to:

  • snap into a 3d-printed carrier to fit the Molex78805 socket
  • provide connections for power and PORT_EN for programming the CPLD

Original version of this page, for building the original REX1

PCB Source
Carrier Source

Parts & Materials


Other Compatible Flash Chips and how to identify them

Tools

Cheap Chinese clone is fine.
Look at the pictures for ones that say model DLC9G, 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.
A cheap usb-ttl cable is perfect. It's cheap, and already ends in loose wires with female dupont pins.
Just use the red and black wires and ignore the rest.
  • 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.
0.1" (2.54mm) pitch single row male pin header
1x6
1x4
one shunt


  • A Tandy Model 100, 102, or 200.

Software

  • Xilinx ISE 14.7 Lab Tools
Lab Tools is a subset of ISE. You can use either ISE or Lab Tools, but you only need Lab Tools to program the REX.
This software is old and needs special futzing to make it work, no matter what OS you are using.
Installing on Ubuntu Linux
Installing on Windows.
  • A DOS (aka TPDD client) for the M100
There are several dos's, and several ways to get one installed. These are a few options:
Get dlplus and use the bootstrap option to install Teeny.
Get mComm for Windows or Android and use the dos installer that comes with it to install either Teeny or TS-DOS.
Play File:DOS100.CO.MP3 into the cassette port to install TS-DOS. (SOUND OFF:CLEAR 0,57089:RUNM "CAS:DOS100.CO")
Get a real tpdd and bootstrap it's utility disk to install "Floppy".
  • A TPDD server to run on a modern host machine
dlplus and mComm mentioned above are also TPDD servers.
Start there, and follow the links to whatever is the latest "REX Release x.x Rebuild Package" zip file.

Procedure

Prep the Bare 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 an xacto knife.

Solder the Electronic Components

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

U1 = XCR3064XL
U2 = 29F800
U3 = LP2980-3.3
R1 = 10K
C1 = 1uF
TP1 & TP2 = right-angle pin (optional)

Don't be too intimidated by the tiny legs on that TSOP-48 chip.
Just use magnifying glasses, lots of flux, and the DRAG TECHNIQUE.
Another example: https://youtu.be/09qb0KY_IF4

The TP1 and TP2 pins are only needed if you think you will ever perform the hardware modification required to use the main rom management feature. See FlexROM_100 or FlexROM_102 to facilitate this.

Clean the Finished PCB

Even "No-Clean" flux should still be removed as much as possible after soldering.

The best is to use an ultrasonic cleaner and saponifying pcb cleaning solution.

If you don't have that, then at least make sure your flux and solder are both "no-clean", and then use 99% isopropyl alcohol and a brush. This will still leave flux trapped under the chips no matter how much you soak it or wash it, but for no-clean flux it's not ideal but ok.

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.
  • Connect the jtag, 5vdc, and PORT_EN jumper.

Snap the PCB Into the Carrier

Place the end of the PCB without the hole into the carrier first, then snap the rest of it in.

Flash the Firmware

Follow the REX 4.9 update directions to load the firmware onto the REX.
The original directions for that are here: 4.9 update directions.

Here are explicit/literal example directions to do that using dlplus on a Linux or Apple pc.
For Windows, you can use mComm in place of dlplus, and download the same files manually with a browser instead of cutting & pasting the wget commands.

Back up any files off of M100. M100 will be wiped.

Cold reset the M100 (ctrl+pause+reset)

Power off the M100

Install the REX in the M100's Option ROM socket

Connect the serial cable between M100 and PC

Power on the M100

Install dlplus on a PC:
On the PC, in a terminal window.

$ git clone git@github.com:bkw777/dlplus.git
$ cd dlplus
$ make all && sudo make install

Install TEENY onto the M100:
On the PC:

$ dl -b=TEENY.100

Follow the prompts on the PC and on the M100 screen...

On the M100:

BASIC
RUN "COM:98N1ENN"

On the PC:

Enter
wait...

On the M100:

Enter
NEW
?HIMEM:CALL9643
Look at the Top: ##### number.
A 32k machine should say 62213.
Yours may say something else.
Use that number in the following CLEAR command.
CLEAR 0,62213
MENU

On the PC:

Enter
should be back at a shell prompt now


Download the REX Classic setup files

$ mkdir rex_setup
$ cd rex_setup
$ wget http://bitchin100.com/wiki/images/4/4f/R49_M100T102_254_rebuild.zip
$ wget http://bitchin100.com/wiki/images/6/63/M100_OPTION_ROMS.zip
$ unzip R49_M100T102_254_rebuild.zip
$ unzip M100_OPTION_ROMS.zip

Use dlplus to start a TPDD server

$ dl -v

Copy RF149.CO to the M100, then run it.
On the M100:

should be at menu
TEENY.CO
> L RF149.CO
> Q
should be at menu
BASIC
CLEAR 0,55000
MENU
should be at menu
run RF149.CO
Answer Y
Wait...
should be at menu

Reset the M100 to clear out TEENY and RF149.CO

ctrl+pause+reset
should be at menu, ram wiped

The flash memory on the REX is now formatted and loaded with REXMGR and a TS-DOS option rom image.

Install REXMGR from the REX itself

BASIC
CALL 63012
should be at menu, REXMGR should appear in menu

REX is now ready to use, and empty except for TS-DOS.

Now install an option ROM image. Example: Ultimate Rom II

REXMGR
press TAB once
screen should say "TS-DOS* ------"
press right-arrow once, highlight should move to "------"
press F2
Loading from image filename: UR2100
Hit any key when TPDD ready.
Loading 0:UR2100.BX     ####
now it should say "TS-DOS* UR2100 ------"

UR2 is now loaded into REX, but not currently selected/active, TS-DOS is.
What this means is, If you were to go back to BASIC and run CALL 63012 right now, it would load TS-DOS, as if you had a TS-DOS option rom in the option rom socket.
To run UR2, you have to select it in REXMGR first.

right-arrow to highlight UR2100
press enter
Y

UR2 is now the active option rom image. Additionally, the equivalent of CALL 63012 was already done for you by REXMGR just as a convenience to skip a step.

F8 back to menu.

Leave dlplus running on PC while you load more rom images.

Ctrl+C to exit dlplus when you're done with it.

Done!

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

Main ROM Management

Main ROM Management

References

KiCAD source files for the PCB

OpenSCAD source files for the carrier

Version c6 pcb This version of the pcb is obsolete, but has pics of the firmware flashing process.

Version c8 pcb This version is also now obsolete, but the only difference is the pcb dimensions and matching carrier.

User Manual

Original sources and support files from Steven Adolph

Backup copies of some of the sources and support files