Skip to the content
PCBKitNew board
2 layers38 × 16.6 mmREX ATF, the printed circuit board in 3D

Option-ROM library for TANDY Model 100/102/200

Size
38 × 16.6 mm
Copper layers
2
Thickness
1.6 mm
Parts
12
Nets
45
Pads
177
Tracks, vias
290, 105
Pours
200
Routed
Yes
KiCad
KiCad 9.0 (file 20241229)
Created
21 Jul 2024
Updated
12 Apr 2026

Overview

REX ATF is an open-source printed circuit board by bkw777, from the bkw777/REX_ATF repository on GitHub. It is a 2-layer board of 38 × 16.6 mm with 12 parts on 45 nets, routed with 290 tracks and 105 vias.

It is built around the ATF1504ASL-25AU44, M29F800FB5AN6F2 and CL21B105KAFNNNE. Its parts include 2 capacitors, 2 resistors, 2 ICs and 2 connectors. It belongs with the FPGA and CPLD boards of this library.

Main components

3

README

README.md

NOT WORKING

If you just want a REX, buy a REX# or build a REX Classic.

This is is an attempt to port REX Classic to a different CPLD chip.
REX Classic is built around the Xilinx XCR3064XL, which is discontinued.
ATF1504ASL is a similar part that is still available.
Do not bother trying to build this yet unless you actually want to help GET it working.
Because it DOES NOT WORK yet. But it seems to be close...

Current Status

Can't figure out a way to replicate the Xilinx internal pullup feature while using the Quartus -> EPM7064S -> POF2JED workflow, so at least for now we have external pullup resistors on the CSA & CSB pins (formerly TP1 & TP2). All other pins should be ok since they are connected to the bus.

Quartus 13.0 compiles the VHDL and creates rexbrd.pof.
pof2jed creates rexbrd.jed.
atmisp creates rexbrd.svf.
openocd programs rexbrd.svf to the device.

The machine still runs normally with the REX installed, so at least the REX is not waking up and interfering with the bus when not selected.

rf149.co runs without error.
The "wiping blocks" stage goes way too fast.
CALL 63012 hangs.

TODO: observe the bus with https://github.com/bkw777/Molex_7880x_bus_tap


REX_ATF

REX Classic built on Microchip ATF1504 instead of Xilinx XCR3064





What is it?

REX Classic is an on-board software-controlled rom library for TRS-80 Model 100, 102, or 200.

REX was originally designed around a Xilinx XCR3064XL CPLD, but Xilinx has stopped producing those.

This is a version of REX Classic using the same VHDL code, but compiled for a Microchip ATF1504ASL CPLD, which is still an active part.

BOM

1 x ATF1504ASL TQFP44 - CPLD 64MC 5V
https://www.digikey.com/en/products/detail/microchip-technology/ATF1504ASL-25AU44/1008353

1 x 29F800BB TSOP48 ex: AM29F800BB, M29F800FB, MX29F800CB - 8Mx8/4Mx16 FLASH parallel 5V bottom-boot
https://www.digikey.com/en/products/detail/alliance-memory-inc/M29F800FB5AN6F2/12180108

2 x 1uF MLCC 0805 16V+
https://www.digikey.com/en/products/detail/yageo/CC0805KKX7R7BB105/2103103

Gerbers & CPLD bitstream in releases. (not working yet, so no release yet)

Carrier: https://shop.jawstec.com/3d-printed-molex-78802-pcb-carrier_p641.php?id=641
(https://github.com/bkw777/Molex78802_Module/blob/master/Carrier/Molex78802_PCB_28.stl)

Programming the CPLD

Install openocd and a wrapper script atfsvf:

text
$ sudo apt install openocd
$ wget https://github.com/bkw777/ATF150x_uDEV/raw/main/bin/atfsvf
$ install -m 755 atfsvf ~/.local/bin/

Programmer hardware:

Example using an FT232R usbc-ttl-serial module

Get the SVF file from Releases. (No releases yet since it doesn't work yet)

Use the atfsvf script to program the chip with the svf.
If you have a FT232H module instead of FT232R, then change ft232r to ft232h below.
$ atfsvf ft232r ATF1504ASL rexbrd.svf

Usage

Use the normal REX Classic software and documentation.

Example on linux:

install dl2

text
$ git clone https://github.com/bkw777/dl2.git
$ cd dl2 && make clean all && sudo make install

connect 100 to pc by serial

reference: http://tandy.wiki/Model_T_Serial_Cable
https://www.pccables.com/products/00103.html
https://www.amazon.com/gp/product/B074VN9ZG4/

load the REX firmware

text
$ wget https://www.bitchin100.com/wiki/images/3/38/R49_M100T102_260_rebuild.zip
$ unzip R49_M100T102_260_rebuild.zip
$ co2ba rf149.co call >rf149.do
$ dl -vb rf149.do && dl -vu

(follow the on-screen directions in the terminal and on the 100)
Then SHIFT+BREAK+RESET on the 100
Then Power-cycle the 100

Try to activate the REX

In BASIC: CALL 63012
(currently hangs)

Generating the SVF from the VHDL source

HDL/Compile_HDL.md

Credits

Original REX design is by Steven Adolph
http://bitchin100.com/wiki/index.php?title=REX
http://www.club100.org/memfiles/index.php?direction=0&order=&directory=Steve%20Adolph

Parts

12
QtyValueFootprintReferences
21u000_LOCAL:C_0805C1, C2
247K000_LOCAL:R_0805R1, R2
129F800BB000_LOCAL:TSOP-48U2
1ATF1504ASL-xAx44000_LOCAL:VQFP44U1
1Housing000_LOCAL:Housing_Molex78802_PCB_28N1
1JTAG000_LOCAL:1x6_pcb_socketJ2
1MAIN_ROM_~{CS}000_LOCAL:1x1_pin_hTP1
1T200_M13_~{CS}000_LOCAL:1x1_pin_hTP2
1Tandy_100_102_200_option_rom socket edge connections000_LOCAL:Molex78802_PCB_28_REXJ1
1VPP000_LOCAL:TP_D0.8TP3

Questions

How big is the REX ATF PCB?

It measures 38 × 16.6 mm and has 2 copper layers, 1.6 mm thick.

What parts does the REX ATF use?

12 parts, built around the ATF1504ASL-25AU44, M29F800FB5AN6F2 and CL21B105KAFNNNE. The full list of its parts is on this page, with links to each part's symbol and footprint where PCBKit's library has them.

Where can I download the REX ATF KiCad files?

From the bkw777/REX_ATF repository on GitHub, at the commit this page was made from: the board is PCB/REX_ATF.kicad_pcb and its schematic PCB/REX_ATF.kicad_sch. PCBKit opens the board in the browser, with nothing to install.

Can I use the REX ATF design in my own project?

Its repository states no licence, so its author keeps all rights: ask bkw777 before reusing the design.

Similar boards

  • 2 layers50.8 × 20.3 mmATF150x uDEV, the printed circuit board in 3D

    ATF150x uDEV

    bkw777/ATF150x_uDEV

    Tiny dev board for ATF1502AS(V)(L)-xAx44 and ATF1504AS(V)(L)-xAx44

    14 parts1
  • 4 layers110 × 64 mmSYCL Badge 2024, the printed circuit board in 3D

    SYCL Badge 2024

    ZigEmbeddedGroup/sycl-badge

    The badge for the SYCL conference! https://zigembeddedgroup.github.io/sycl-badge/

    145 parts39
  • 2 layers38 × 16.6 mmMeeprom, the printed circuit board in 3D

    Meeprom

    bkw777/Teeprom

    These are all virtual UV EPROMS / virtual mask roms, using electrically programmable EEPROM, FRAM, or FLASH with the pinout adapted to work in place of 27Cxx UV/OTP EPROMS or standard mask roms, on a specially shaped…

    8 parts7CC-BY-SA-4.0
  • 4 layers74.4 × 50.2 mmRoadster charger, the printed circuit board in 3D

    Roadster charger

    zainahm3d/roadster-charger

    USB-C PD bike charger

    109 parts7
  • 2 layers51.3 × 18.3 mmReQUAD, the printed circuit board in 3D

    ReQUAD

    bkw777/reQUAD

    A modified respin of Steven Adolph's QUAD memory expansion for the TRS-80 Model 100

    16 parts4
  • 6 layers228.6 × 110.7 mmDriver, the printed circuit board in 3D

    Driver

    thewonderidiot/lachesis

    Portable, safe readers for Apollo Guidance Computer core rope memory modules

    690 parts4MIT
  • 2 layers57.2 × 19.1 mmTANDY 600 RAM DUAL, the printed circuit board in 3D

    TANDY 600 RAM DUAL

    bkw777/TANDY_600_RAM

    96K SRAM for TANDY Model 600

    8 parts3
  • 2 layers150 × 79.8 mmWrightSpace, the printed circuit board in 3D

    WrightSpace

    AerospaceVillage/avBadge_2023

    Aerospace Village Badge for Def Con 2023

    69 parts1