Skip to the content
PCBKitNew board
2 layers51.3 × 18.3 mmReQUAD, the printed circuit board in 3D

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

Size
51.3 × 18.3 mm
Copper layers
2
Thickness
1.6 mm
Parts
16
Nets
52
Pads
156
Tracks, vias
376, 85
Pours
211
Routed
Yes
KiCad
KiCad 8.0 (file 20240108)
Created
22 Aug 2022
Updated
1 Mar 2025

Overview

ReQUAD is an open-source printed circuit board by bkw777, from the bkw777/reQUAD repository on GitHub. It is a 2-layer board of 51.3 × 18.3 mm with 16 parts on 52 nets, routed with 376 tracks and 85 vias.

It is built around the AS6C1008-55STIN, 74HC02PW,118-JSM and CL21B105KAFNNNE, with the RK73B2ATTD102J, TAJC227K010RNJ and BAV756S among its other parts. Its parts include 4 capacitors, 4 ICs, 3 fuses, 2 resistors and 1 connector.

Main components

6

README

README.md

reQUAD

reQUAD.bom.csv

About

This is a derivative of QUAD by Steve Adolph.

Differences from the original

Removed the resistor-cap power-on-reset circuit and resettable flip-flop for a simple flip-flop.
Added battery and battery-change cap.
Added pulldown on the sram CE2.

To Build it

PCB PCBWAY
BOM DigiKey

Build notes,
The pin 1 mark on DA1, BAV756S, is tiny and faint, but there is one, you just need a lot of magnification and light. The markings look like .A7t and the . is at pin 1. The pinout is not symmetric, and so the part must be installed in the correct orientation.

To Use it

The device disables and replaces the machine's original internal 32k RAM, so copy any files off of the computer before installing the reQUAD. You won't be able to access the internal ram except by removing the reQUAD.

The first time the device is powered up, it will be in a random bank number.

The first thing you should do after install is "blindly" switch to each bank,
and do a cold-reset in each bank to wipe all banks of any random data.
(only cold-reset, not power-cycle. If you power-cycle, the reQUAD may switch to a random bank again.)

In BASIC type OUT 128,3 [Enter], then CTRL+BREAK+RESET.
In BASIC type OUT 128,2 [Enter], then CTRL+BREAK+RESET.
In BASIC type OUT 128,1 [Enter], then CTRL+BREAK+RESET.
In BASIC type OUT 128,0 [Enter], then CTRL+BREAK+RESET.

Now all 4 banks have been wiped clean of any random data, and you are sitting in bank 1.
From now on, don't do CTRL+BREAK+RESET any more, just RESET (unless you actually want to wipe a bank).

Now there are 3 main options for using the banks from no on.
Manual control,
BANK.BA,
0QUAD

Manual Control

To switch banks manually without 0QUAD or BANK.BA:
In BASIC, type OUT 128,n, where n is the desired bank number from 0 to 3,
then immediately press RESET on the back of the machine.

OUT 128,0 switches to bank 1
OUT 128,1 switches to bank 2
OUT 128,2 switches to bank 3
OUT 128,3 switches to bank 4

The cpu has no knowledge that it's entire ram universe has been replaced and all it's current register contents and pointers and such are invalid, so the main rom must be restarted IMMEDIATELY after the OUT command.

So after the OUT command, ignore the screen and press the RESET button on the back of the machine.

Pressing RESET is only needed when switching manually this way instead of using BANK.BA or 0QUAD.
BANK.BA and 0QUAD both induce a reset themselves.

BANK.BA

The next-simplest option for controlling the reQUAD is to copy this 4-line BASIC program into each bank,
and save it with a name matching the current bank it's in.

First, ensure you are in bank 1:
In BASIC, type OUT128,0 [Enter], then press RESET.

Then in BASIC type-in this program:

text
1 INPUT"Bank(1-4)";X:IFX<1ORX>4THEN 1
2 A#=0:B=VARPTR(A#):POKEB,249
3 POKEB+1,195:POKEB+2,241:POKEB+3,118
4 CALLB,X-1,30481

Then SAVE "BANK1"

Now you know you are in bank1 because it says BANK1.BA in the main menu,
and you can BANK1.BA to switch to any other bank.

Repeat for all 4 banks
run BANK1.BA, answer "2", you are now in a new empty bank2, type-in the program again, SAVE "BANK2"
run BANK2.BA, answer "3", type-in, SAVE "BANK3"
run BANK3.BA, answer "4", type-in, SAVE "BANK4"

0QUAD

Install 0QUAD

Refer to the docs for the original QUAD

Example Installing 0QUAD using dl2 and teeny

(this will wipe all data)

QUAD.BA must be copied as a binary via TPDD, it can't be copied in ascii format using ordinary text transfer with TELCOM.

This example will use dl2 on the pc to bootstrap install TEENY on the 100, and then use TEENY and dl2 to copy QUAD.BA to the 100. You can use any other TPDD emulator instead of dl2, like LaddieAlpha or a Backpack, and you can use any TPDD client instead of TEENY, like TS-DOS or DSKMGR.

On the pc, install dl2

On the 100, in BASIC: OUT 128,0
Then do a cold reset: CTRL+BREAK+RESET

On the pc:

text
$ cd APP
$ dl -v -b TEENY.100 && dl -v -u

On the 100, in BASIC: RUN "COM:98N1ENN"
Press ENTER at the end of the TEENY install to accept the default install location.
CLEAR 0,62213
Press F8 to exit to the main menu and run TEENY.CO
Use TEENY to copy QUAD.BA from the pc

text
> L QUAD  .BA
> Q

On the pc: Ctrl+C to exit dl2

On the 100: Run QUAD.BA
Answer "1" to the "Which bank are you in?" question.

0QUAD is now installed in bank 1, but is invisible.

Type 0QUAD [Enter] at the main menu (not in BASIC) to run 0QUAD

Now the top-right corner will show "#1" to show that you are currently in bank 1.
Press F1 to pull up the bank-switch menu, then press F2 to switch to bank 2.

You are now in bank 2 which is a new empty bank.
0QUAD is not installed in this bank yet.

Install 0QUAD in bank 2 by repeating everything after the OUT command above, including the cold reset.
Answer "2" at the "Which bank?" question.
Repeat again for banks 3 and 4.

Once 0QUAD is installed in all banks, you can use it to switch from any bank to any other bank, and you don't need to press the RESET button after each switch when using 0QUAD to switch.

Thanks

Thanks to Steve Adolph for sharing his original design and allowing this derivative.

Parts

16
QtyValueFootprintReferences
31u000_LOCAL:C_0805C2, C3, C4
3Fiducial_0.5_1.0000_LOCAL:Fiducial_0.5_1.0F1, F2, F3
11k000_LOCAL:R_0805R1
1220u10v000_LOCAL:CP_6032C1
12G79000_LOCAL:VSSOP-8_2.3x2mm_P0.5mmU3
1470k000_LOCAL:R_0805R2
1AS6C1008000_LOCAL:TSOP32-dualU1
1BAV756S000_LOCAL:SOT-363DA1
1HC02000_LOCAL:TSSOP-14_4.4x5mm_P0.65mmU4
1HC573000_LOCAL:TSSOP-20_4.4x6.5mm_P0.65mmU2
1Keystone_3031000_LOCAL:Keystone_3031BT1
1Model_100_System_BUS000_LOCAL:DIP-40_PCBJ1

Questions

How big is the ReQUAD PCB?

It measures 51.3 × 18.3 mm and has 2 copper layers, 1.6 mm thick.

What parts does the ReQUAD use?

16 parts, built around the AS6C1008-55STIN, 74HC02PW,118-JSM, CL21B105KAFNNNE and RK73B2ATTD102J. 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 ReQUAD KiCad files?

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

Can I use the ReQUAD 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 layers60 × 34 mmMiniNDP OG, the printed circuit board in 3D

    MiniNDP OG

    bkw777/NODE_DATAPAC

    Reproduction & documentation of Node Systems DATAPAC

    23 parts7
  • 2 layers160 × 100 mmVentilator shield, the printed circuit board in 3D

    Ventilator shield

    breeze-ventilator/covid19-ventilator

    Breeze ventilator for COVID-19

    81 parts25MIT
  • 2 layers184.1 × 175.3 mmLogic, the printed circuit board in 3D

    Logic

    open-rdc/Bipedal_Robot_Hardware

    2024 ヒューマノイド

    74 parts6
  • 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
  • 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