The challenge: Improve the features and performance of this MIDI percussion controller.

The solution: Assume development of both the operating software and the analog hardware of this product.  To improve the dynamic response of piezoelectric sensors, T-Recursive designed and laid out a "quasi-logarithmic" pulse amplifier, and greatly optimized the supporting software.  To simplify the addition of new features, we developed a "menu engine" allowing the user interface to be changed and expanded in hours rather than days, and adapted the code to use paged memory, doubling the available memory space.  New features added by T-Recursive include: more flexible and varied event processing; MIDI input processing, sequence playback, and bulk dump; absolute and variable time scheduling. 


The challenge: Develop an object-oriented application-specific language for a distributed industrial control system.

The solution: Specify and implement the ANGL language using the SwiftX Forth cross-compiler.  Given a general capabilities description, T-Recursive specified, designed, implemented, and documented a late-binding object-oriented extension to SwiftX Forth.  We also implemented a multi-drop master-slave RS-485 network to the client's specification, including PC and modem gateways for remote access.  This system was designed to be compatible with the BACnet(tm) object model and message syntax.  Application software developed by T-Recursive included predefined classes for event processing, and tokenized formula processing.

D5 Processor

The challenge: Improve the capacity, and lower the cost, of this Zilog Super8 processor board, while retaining compatibility with old code.

The solution:  Specify, design, and lay out a new "D5" processor board to fully exploit the Zilog Super8.  The new board uses split instruction/data spaces and paged memory to quadruple the on-board memory and allow off-board expansion.  A new, expandable 32xN analog matrix replaces the previous 12x24 matrix, while retaining full compatibility with old connectors.  Surface-mount devices and tight layout replaced the expensive octagonal board with an economical -- and 40% smaller -- rectangular board, and the redesign allows the D5 board to be depopulated for simpler applications.  T-Recursive converted old software to run on either board, using a few "personality" files.


The challenge: Support the development of the Open Terminal Architecture for point-of-sale terminals.

The solution:  Develop kernel software for a variety of point-of-sale terminals.  As a software subcontractor, T-Recursive maintained and supported kernels for 8051, 6303, and 68000-based terminals.  We researched and implemented fast and compact extended-precision math algorithms which have since been widely adopted for the OTA security routines.  We also implemented a byte-coded kernel for an 8051-based "smart card" which runs twelve times faster than a competing product, using less than 128 bytes of RAM and 3.5K of ROM.

McMaster Tandem Accelerator

The challenge: Automate the operation of this manually controlled, "seat of the pants," 1960s-vintage particle accelerator. 

The solution: Design and construct a real-time, distributed, inference-driven control system using "off-the-shelf" hardware whenever possible. New Micros single-board computers and interfaces were specified. For the highly-specialized connections to the accelerator itself, T-Recursive designed, laid out, and assembled "fail-safe" circuit boards for retrofit into the control console. T-Recursive developed all software, including a distributed, embedded, real-time expert system to perform the heuristic decisions of a human operator. To meet the networking requirements of the accelerator lab, we developed a novel token-ring local-area network using standard serial ports. MPE Forth, F-PC Forth, and assembly language were extensively used. 

T-Recursive SM-II Multiprocessor Trainer 

The challenge: Create an inexpensive platform to study tightly- and loosely-coupled multiprocessor architecture. 

The solution: Design a shared-bus microprocessor board using an inexpensive 8-bit processor. T-Recursive designed this board using the Motorola 6809 with custom bus arbitration and memory mapping logic, plus multiple high-speed serial links and additional I/O. We also laid out and produced a small number of printed-circuit boards for sale to educators and experimenters. Cost of fully-configured prototypes was under $200 per CPU, well under the goal of $1000 for a four-processor system.

Teatronics LD-series control consoles

(link to article)

The challenge: Create a lighting control system which can compete on price with the other manufacturer's low-end memory consoles, and on features with their high-end memory consoles.

The solution: Specify and design a scalable multiprocessor lighting control system. From three to ten Zilog Super8 processors can be installed, making a range of consoles possible with identical features and software. The maximum configuration, LD1000, controls 4000 dimmers on 1000 channels, making it (at its introduction) the third most powerful console on the market. T-Recursive conceived, specified, and designed the system, and designed all hardware, including video, disk, serial, and multiplex I/O, and a proprietary interprocessor bus. We prototyped and laid out the key "channel processor" board. We designed the multiprocessor, multitasksing software architecture, wrote a high-performance multitasking kernel, and wrote the executive control and operator interface software in Forth. Our assembly-language computation software uses novel calculation techniques to achieve a 300% improvement in processing speed. We developed the hardware and software for the proprietary local-area-network, which allows distributed control from up to 30 control stations, and supports fully redundant backup. T-Recursive worked with client staff and another contractor to deliver, in 1.5 man-years, a product whose equivalent took a competitor 5 man-years.

Teatronics Producer II+ Processor

The challenge: Lower the cost and increase the capacity and capabilities of the Teatronics Producer II lighting control console, while adding support for the new DMX-512 protocol. Furthermore, the design must accomodate Teatronics' envisioned Quantum high-performance lighting console.

The solution: Replace the existing STD-bus Z80 processor and I/O cards with a custom single-board computer using the Zilog Super8. The new board runs faster and has more memory, increasing the console capacity, at lower cost. While retrofitting to existing hardware, it adds new interfaces for DMX-512 output, floppy disk, IBM-compatible printer, serial remote control, VFD/LCD display, and IBM video display card. T-Recursive designed, laid out, and prototyped the board, and wrote all I/O drivers. We developed a Z80-to-Super8 translation program to quickly migrate the existing Z80 software to the new board. Later, T-Recursive developed assembly-language software to add remote control, video display, printer, and disk functions to the Producer II+. The Super8 board was used "as is" for the Quantum console, at a substantial cost savings; T-Recursive also assisted with software development for that system.

Teatronics Comstar/MD288 Dimmer Controller

The challenge: Replace the analog control electronics of the Genesis dimmer pack with a controller capable of handling the new digital protocols DMX-512 and D192. The new board must retrofit into existing dimmers. Furthermore, the design must be expandable to 96 dimmers for the new MD288 dimmer rack.

The solution: Design a controller using the Zilog Super8 microprocessor to receive USITT DMX-512, USITT AMX-192, Colortran D192, and 10-volt analog control signals. The proprietary hardware and software design allows the processor to generate Triac firing signals directly with no external timers, lowering cost, and allowing the board to exactly match the form factor of the old analog controller. It accomodates up to 24 dimmers on three phases for dimmer packs, or up to 96 dimmers on one phase for the MD288 rack. The hardware was designed and prototyped, assembly-language software was developed, and diagnostics and documentation were written, in just two months.

Other Projects


Under contract, T-Recursive adapted software from the "Ztar" MIDI fingerboard controller to create an 810-key microtonal MIDI keyboard.

PSC1000 Soft UART

T-Recursive has developed serial I/O routines for the Patriot Scientific PSC1000 microprocessor, using its on-chip I/O Processor (IOP) to support a "software UART."

8051 Small C

Under contract, T-Recursive ported the Small C compiler to the Intel 8051 microprocessor. This involved writing the code generator and optimizer for this CPU, plus end-user documentation.

CamelForth Interpreter

T-Recursive has developed CamelForth, a highly-portable ANSI standard Forth compiler/interpreter, for "in-house" embedded projects. It has been implemented for the Intel 8051, Zilog Z80, and Motorola 6809.

Chromium Metacompiler

T-Recursive has developed a versatile Forth cross-compiler, "Chromium." It supports interactive compilation, interpretation, and debugging for a variety of processors.

Z8/Super8 Max-Forth

Under contract, T-Recursive wrote versions of New Micros' Max-Forth for the Zilog Z8 and Super8, including extensions to Max-Forth to support these Harvard architecture processors.

MPE Forth for Z8/Super8 and 68HC16

T-Recursive has re-targeted the MicroProcessor Engineering Ltd. Forth cross-compiler for the Zilog Z8, Zilog Super8, and Motorola 68HC16 microprocessors. This included writing the Forth kernel, multitasker, and user documentation for each processor. These compilers are currently sold by MPE.


As a subcontractor, T-Recursive converted a Ballistic Missile Defense simulator from a Tektronix graphics workstation to an IBM PC-AT with four independent graphics displays. We maintained and extended the existing polyForth software.


As a subcontractor, T-Recursive wrote the software for VectorForth, an array processing package for the IBM PC using Vortex and Point-I coprocessor boards. This polyForth software included assemblers for both boards and a 3-D graphics display package.

Saturn Airhouse

As a subcontractor, T-Recursive contributed to the software development of this networked HVAC control system. Our contributions included PID control algorithms, fault response, and network communications code, using polyForth and clusterForth, plus detailed end-user documentation.


As a subcontractor, T-Recursive converted this adaptive optics simulation package from FORTRAN on a VAX, to polyForth on an IBM PC/XT. In the process, we added 3-D modelling, time simulation, and graphic display, and improved the software to run 20 times faster on the PC than the previous code ran on the VAX.



T-Recursive Technology Home | CamelForth | Bradford J. Rodriguez | Send Email

Page updated 12 Mar 2000