BCR TTL SERIAL HACK

From Bitchin100 DocGarden
Revision as of 08:28, 19 April 2020 by Sadolph (talk | contribs) (Created page with " == What is this all about? == External serial bidirectional communication on the Model 100 today is limited to (1) the RS-232 port and (2) the modem port, both of which use ...")
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigationJump to search

What is this all about?

External serial bidirectional communication on the Model 100 today is limited to (1) the RS-232 port and (2) the modem port, both of which use the single UART in the computer.

This hack enables the BCR port to send and receive half duplex serial TTL signals. The BCR port is already set up for TTL receive function as this is used for the Bar Code Reader function. So this hack provides facility to transmit as well. In addition I provide some software routines that demonstrate the capability.

BCR port serial TTL is supported in Model 100 CP/M as well as with the VT100 Driver, for use with VT100 Terminal or other VT100 CRT solution.

Get in touch with me at Twospruces at --the google mail service.

Acknowledgements

I would like to acknowledge and thank those that have contributed to the project:

Philip Avery - for efforts with CP/M and attached Video using the VT100 Adapter


Supported Models

  • TRS-80 Model 100
  • a hardware hack for T102 is likely however not explored at this time
  • a similar hack should be possible for all ModelT versions.


The Hardware Modification

The core of the modification is to connect pin 3 of the BCR port to the SOD output of the CPU. This is accomplished by adding a single wire to the PCB.

  This page details the hardware change required to transmit at 57600 baud with minimal changes.
  It can be demonstrated that, in the M100, both serial Tx and Rx is possible at 57600 over the BCR port.
  Tx and Rx at higher speeds is more challenging.  Tx speeds of up to 128000 baud have been demonstrated.
  Transmission at this rate requires disconnection of the cassette port Tx filter at C63.

The following image shows the modification to the M100 Cassette/BCR port circuitry.

Ckt2.png


Here we see a strap added from pin 12 of M34 to pin 3 of the BCR port, defining this pin as Tx data.

The following image shows the placement of the strap on the secondary side of the M100 PCB.


Layout2.png



The Software

As mentioned, the use of the BCR port to send TTL data to the external CRT is supported in Model 100 CP/M, as well as by using the VT100 Driver, which integrates the external CRT with BASIC, based on Microsoft Disk BASIC for the Model 100.

Additionally, I include some code here as examples.

57600 Baud Routines

The following code can be compiled, and run in Model 100 to demonstrate transmission between 2 machines at 57600.

Tx routine:

   keysnd_57600.asm

Rx routine:

   bcrx_57600.asm


Higher speed Tx Routines

Faster transmission is possible; both 115600 and 128000 baud have been demonstrated. The core Tx routines are provided here.

for Tx at 57600 baud:

   bcrtx_57600.asm

for Tx at 115600 baud:

   bcrtx_115600.asm

for Tx at 128000 baud:

   bcrtx_128000.asm