
ATF150x uDEV
bkw777/ATF150x_uDEV
Tiny dev board for ATF1502AS(V)(L)-xAx44 and ATF1504AS(V)(L)-xAx44

Option-ROM library for TANDY Model 100/102/200
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.
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...
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 Classic built on Microchip ATF1504 instead of Xilinx XCR3064




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.
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)
Install openocd and a wrapper script atfsvf:
$ 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
Use the normal REX Classic software and documentation.
Example on linux:
$ git clone https://github.com/bkw777/dl2.git
$ cd dl2 && make clean all && sudo make installreference: http://tandy.wiki/Model_T_Serial_Cable
https://www.pccables.com/products/00103.html
https://www.amazon.com/gp/product/B074VN9ZG4/
$ 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
In BASIC: CALL 63012
(currently hangs)
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
| Qty | Value | Footprint | References |
|---|---|---|---|
| 2 | 1u | 000_LOCAL:C_0805 | C1, C2 |
| 2 | 47K | 000_LOCAL:R_0805 | R1, R2 |
| 1 | 29F800BB | 000_LOCAL:TSOP-48 | U2 |
| 1 | ATF1504ASL-xAx44 | 000_LOCAL:VQFP44 | U1 |
| 1 | Housing | 000_LOCAL:Housing_Molex78802_PCB_28 | N1 |
| 1 | JTAG | 000_LOCAL:1x6_pcb_socket | J2 |
| 1 | MAIN_ROM_~{CS} | 000_LOCAL:1x1_pin_h | TP1 |
| 1 | T200_M13_~{CS} | 000_LOCAL:1x1_pin_h | TP2 |
| 1 | Tandy_100_102_200_option_rom socket edge connections | 000_LOCAL:Molex78802_PCB_28_REX | J1 |
| 1 | VPP | 000_LOCAL:TP_D0.8 | TP3 |
It measures 38 × 16.6 mm and has 2 copper layers, 1.6 mm thick.
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.
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.
Its repository states no licence, so its author keeps all rights: ask bkw777 before reusing the design.

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

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

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…


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

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

