System 80 / FreHD Adaptor

The Dick Smith System 80 was a TRS-80 Model 1 clone that was popular in New Zealand and Australia in the early 1980's.

While the machine was largely software compatible, it is a different hardware design.  This is particularly true for the expansion bus on the back of the machine and the design of the expansion interface.

This difference in expansion design means that the FreHD cannot connect directly to the keyboard or the expansion interface of the System 80.

The TRS-80 Model 1 and the companion 26-1132 Model 1 Hard Disk Adaptor made FreHD connection easy.  The 26-1132 connects to the expansion connector on the left side of the expansion interface.  This expansion connector is a duplicate of the connector on the back of the keyboard with the exception of the dynamic memory refresh signals.

The System 80 expansion interface does not duplicate the keyboard expansion connector for further expansion.  In fact it doesn't provide any externally accessible expansion ports that could be used for a FreHD connection.

What the System 80 Expansion Interface does provide is an internal 50 pin connector that is intended for an optional S-100 bus adaptor.

In the two expansion interfaces I have seen this 50 pin connector is an edge connector socket mounted on the PCB.  The connector pinout is documented in the Video Genie EG-3014 technical manual available from http://www.classic-computers.org.nz/system-80/manuals_expander_EG3014_technical_manual_1981.pdf

The first challenge for a prototype was to connect using this 50 pin connector.  I didn't want to make a board without knowing the final design so created an adaptor for the edge connector socket that provided a pin header connector to the test board.  An old ISA bus parallel port board was sacrificed to provide the edge connector.

On top of the edge connector was soldered a 50 pin header and spacers to ensure the edge connector would insert into the socket and make contact.

The initial attempt at an adaptor board was to build a wiring adaptor. Unlike the Model 1 which combined the Z80 /WR, /RD and /IORQ signals to generate /IN and /OUT (and needed to be seperated back to the standard signals by the 26-1132), the System 80 provides the standard signals so all that was required (or so it seemed) was to match these to a Model III/4 type expansion pinout.

Problem was it didn't work reliably.

After a lot of testing by Ray Whitehurst (a System/80 enthusiest from Australia), head scratching and review of the Expansion Interface schematics we were able to get a reliable adaptor.

In addition to the pin mapping it also required:

  • Termination resistors on the data, address, /IORQ, /RD and /WR lines immediately after the S-100 connector.
  • Following the termination resistors added a 74LS245 buffer on the data lines.

Ray"s First Working Board

Final Prototype with SIP Terminating Resistors

System 80 Expansion Interfaces are very difficult to find in New Zealand.   I am very grateful to Mark Barlow of Techvana for lending me his Expansion Interface and Ray Whitehurst for all the prototype boards he assembled for the FreHD validation.

 

TRS80 Model 1 Fixup - Part 3

So with a power supply, working power switch, restored Expansion Interface and a suitable case, things were looking good for a quick test of the Model 1 / FreHD adaptor and move on to the next project.

As they say on the billboard advertisements for Tui beer in New Zealand.....

I do however now have a lot better understanding of the WD1771 floppy disk controller and how it is integrated with the Model 1 EI.

For those that like to jump to the end of the book.... the problem was C62 (a 33uf electrolytic capacitor) in the "later revision" EI (not sure how EI's are actually named and probably a different component reference in the early version). Replacing this cured all the boot problems.

The path to discovering this is the interesting bit.

The behavior of the machine was that it would boot "sometimes".... perhaps 10% of the time. It didn't make any difference if it was a boot from power on or pressing reset.  If the boot failed it would just hang with a blank screen.  If it did boot then LDOS would run perfectly but a reset or power recycle and it was back to the "will it boot" problem.

Went through all the basic problem solving steps by changing the following:
1. Floppy drive (both 3.5" and 5.25")
2. Drive cable
3. Keyboard to EI cable
4. WD1771 controller
5. Added a Percom Data Seperator

None of these improved the situation to any extent.

One interesting difference that pushed me down an incorrect path was that sometimes when the boot failed the disk heads would step inwards to the center of the disk and stop when the drive hit the stops.  This made me suspect the 7416 driver that controls the direction and step lines.  I replaced this with a 7406 but it didn't fix the boot problem.  I discovered afterwards that this behavior would only occur with certain WD1771 chips. I have two different types... an original RS part that I got from Ian and some later "1982" NOS WD1771's that I got on eBay.  Only the "1982" versions exhibited the stepping behavior.

Spent some time writing some simple basic programs to test the FDC.  It was with these that I discovered that I could cause a similar problem.  Some requests to the FDC to move to different tracks would not complete and the WD1771 status register would report "busy" until it eventually timed out and the busy flag was cleared.  Further digging with the logic analyzer showed that the WD1771 "Ready" line was being deasserted before the command completed.

In the WD1771 datasheet it says that "Ready" is how the drive tells the controller that it is ready for the next command (such as stepping commands when seeking a track).

In the Model 1 (and possibly the Model 3/4) "Ready" doesn't come from the drive (because mini-floppy drives don't seem to have a concept of "ready") and is generated in the EI.  When a drive is selected by writing to 0x37E0 drive select latch this is loaded into Z47 (a 74LS175 flip flop).  The DS outputs are OR'ed to generate the "Ready" so this will high if any drive is selected.

Because "mini floppy" drives are not intended to run continually Z33 is used to clear Z47 and deselect all drives approximately 2-3 seconds after the drive is selected. Z33 is a 74LS123 and uses R25 and C62 to generate a "delay" during which the drive select is active.  If the drive is not re-selected this will timeout and "Ready" will clear.

As C62 had aged it's value has changed (reduced) so Z33 was timing out early and as far as the WD1771 was concerned the drive had gone off line.

This caused problems at boot because the bootstrap code is pretty simple and didn't expect that it needed to reselect the drives during the process because the C62 would keep the drive selected.  The reason it worked sometimes was just luck and where the heads happened to be from the last failed attempt.

Replacing C62 with a new 33uf Tantalum capacitor ($2.50 at Jaycar in New Zealand) fixed the problem and all disks I have now boot.

 

The offending C62....

... and it's replacement.

 

TRS80 Model 1 Fixup - Part 2

Included in Ian's box of "things from the junk box" for FreHD testing was a Model 1 Expansion Interface PCB.


Ian tells me that a common problem is people shipping Expansion Interfaces with the power transformer still inside.  Add an enthusiastic courier driver and you are almost guaranteed to have a broken case. This Expansion Interface had such treatment so had ended up a junk box parts donor.


Apart from the missing case, WD-1771 floppy disk controller and connection cable to the keyboard, the Expansion Interface board looked complete and in good condition.


For anyone who finds a parts donor Expansion Interface board and wants to get it going, as of 2013 the WD-1771 floppy controllers are still available on eBay as are the 4116 dynamic RAM chips.  Best to search around because the prices vary a lot.  Unless you are hung up on period authenticity then the vintage style packaging with the really high prices are not required!


With the chips replaced and a cable made up the initial indications where that the Expansion Interface worked fine.


At this point I realized why they put these in cases... where to put the monitor when you just have a PCB? Things get very spread out.


Taking inspiration from the current trend in acrylic project cases for things like the Raspberry Pi I went looking for a source of acrylic sheet and discovered CTS Plastics in Tauranga.

Here is my solution to the no-case problem.

    2 sheets of 6mm grey perspex plastic

    5 x 50mm bolts, assorted nuts and washers.

Total cost about NZ$25.

 

Much safer than having the EI board floating around on the table, looks smart and with 6mm perspex it is very strong so the monitor can sit on top.

 

The dimensions and drilling information is in the attached pdf for anyone wanting to build their own.

The drill details are:
 
    4 holes (1 at each corner) 20mm from the edges.
 
    2 holes 143mm from the left edge.  One is 82mm from the bottom and the other 202mm.
 
    1 hole 38mm from the right edge.  This is 142mm from the bottom.
 
The two pieces will be mounted together with spacers so the holes need to be accurately drilled on both sheets.

 

 

 

 


 

 

TRS80 Model 1 Fixup - Part 1

With the success of the FreHD on the TRS-80 Model III and 4 it was time to start testing on the Model 1.

The first step was finding a Model 1 and Expansion Interface.  While they may be plentiful in the US they are a fairly uncommon machine in New Zealand.

Luckily just across the Tasman Sea is Ian Mavric's TRS-80 OldTimer Center.  Ian is a big supporter of the TRS-80 community and the FreHD project in particular, offering both partial kits and completed boards for the FreHD so when we started talking about Model 1 testing he went hunting through his well stocked junkbox to help out.

 

"I have found you some bits" said the email.... "An early Model 1 keyboard and an EI board. No power supplies so you will have to sort that out. I think they work but you know something about electronics so I am sure you can sort them out"

"How hard can that be?"

 

While waiting for the parts to arrive I started sorting out the power supply.  Most of my microcomputers use 5VDC and 12VDC so I wasn't expecting much difficulty there.  Then I discovered that while the Model 1 may use 5VDC internally (and -5VDC for the 4116 dynamic RAM), the power supply bricks need to provide 20VDC and 16VAC. No opportunity to recycle an old PC supply here and keep the Model 1 fairly close to a stock configuration.

The solution was an excellent power supply design by Dean Bear that is documented on trs80.com.  There is a good writeup on this design in the September 2013 issue of TRS8BIT available at trs-80.org.uk

 

For my test setup I built the power supply on prototype board and mounted it in a Jaycar case. As the TRS8BIT article warns, there are high voltages in this project and if you are not comfortable work with this I suggest checking with Ian Mavric to see if a kit or built up unit is available.

 

 

 

With a suitable power supply now ready and a box of parts having arrived it was time to see what Ian had sent over.  It had been 35 years since I had used a Model 1 and my initial reaction was that it was a lot thinker than I remembered.

 

The machine powered up with the usual Mem Size? prompt but the power switch was difficult to latch on.


Holding it in was fine for the initial test but made using the machine difficult so this was the first thing to address.

With the latching pushbutton not being easily available here I used a miniature three pole toggle switch from Jaycar instead. This is easy to wire into the PCB holes previously used by the pushbutton and mounts nicely in the existing case hole. One day when I find the real pushbutton I can return to a more stock configuration.

 

 

 

 

This closeup thanks to Dean Bear shows the PCB holes clearly.

 

 

TRS80 Model 4 128K Upgrade - Part 2

The Samsung KM4164B-12 parts arrived from Bulgaria promptly and well packaged.  

After installing in the Model 4, the machine was left running the Model 4 diagnostics memory test for 4 hours and no problems reported. 

The parts were ordered on eBay from electron-bg.  I would definitely order from this vendor again.

 

 

 

TRS80 Model 4 128K Upgrade

The TRS-80 Model 4 is regarded by many as one of the pinacles of Z80 development and as a lucky owner of several of these machines I do what I can to keep them operating, to supplement their capabilities with modern accessories like the FreHD but still retain as much of the original operating experience as possible.

Both my machines are in the "standard" New Zealand 64k configuration and I don't know of any machines imported here that were upgraded with official 128K upgrade kits.  

The machines run well with 64K.  To my knowlege the extra 64K (of a 128K configuration) is used by few applications and in most cases as a RAM disk.... so upgrading to 128K wasn't high on my list of "must do" items.  

Contributing to this was my workhorse machine being a "Non Gate Array" variant requiring the "rare as hen's teeth" U72 PAL chip.

I was surprised when Ian Mavric sent me the definition file to program a Lattice 16V8 GAL for use as U72.

The upgrade just had to be done.  The GAL was easy but it took some research and digging in the workshop to find the required dynamic RAM chips.  The Model 4 uses 4164 parts but they must have 128ms refresh.  If buying parts make sure you download the datasheet for the exact part number and confirm this.  Parts can be either 128ms or 256ms.  256ms won't work.

In the workshop waiting restoration is a New Zealand single board Z80 computer from a company called Computer Specialists so I borrowed the 8 4864 memory chips to test the upgrade.  If it worked I would hunt eBay for some chips.

4864 Dynamic RAM chips installed on the motherboard

The U72 shunt installed in a 64K Non Gate Array Machine

The shunt removed and replacement with a Lattice 16V8 GAL

After all this.... it did work!  I was really surprised at how easy the process was. 

The memory tests on the Model 4 diagnostic disks recognized the extra memory and reported no errors.  Montezuma Micro CP/M recognized the extra memory promptly created a 64K ram disk as drive M:.  PIP had no difficulties copying files to and from M:

What a great way to spend 30 minutes.  

Not wanting to turn the Computer Specialists board into a parts donor I ordered some Samsung KM4164B-12 parts from eBay (from Bulgaria no less).  Hope they work.... I should know in 3 weeks. 

 

TRS80 Model 4 Rebuild - Part 4

The TRS80 Model 4 works well with the two internal 3.5" drives.  The challenge is sharing files with the other two stock machines which have 5.25" single sided floppy drives.  

In the future I plan to add a compact flash or sd card based "hard drive" to the top drive bay so don't want to install an internal 5.25" drive.  

The Model 4 has an external drive connector so I went searching for a suitable external drive case.... and Trade Me (the New Zealand equivilent of eBay) turned up 70GB DLT drives for less than $10.

 

The DLT drive occupies a full height 5.25" bay so the case supports 1 full height or 2 half height drives.  It also includes a small switching power supply providing +5V and +12V DC.  

I replaced the DLT drive with a Tandon TM-50-1 drive that was originally in the Model 4 when I first received it.  In the remaining space I installed a hard drive frame from an parted out HP-9000 minicomputer.  The frame holds Frederic Vecoven's Hard Drive emulator (http://vecoven.com/trs80/trs80.html).

 

A very simple and successful project.  Now I need to find suitable cleaning product to remove the marker on the front of the case.

 

TRS80 Model 4 Rebuild - Part 3

With the replacement header installed on the serial interface board and the modifications removed from the floppy drive controller it was time to reassemble the machine.

Nothing special here but some interesting images of the internals of the TRS-80 Model 4.

New header on the mainboard for the serial board connection

Non-standard header for the floppy drive controller connection

Model 4 case with drive frame removed and one power supply installed

Keyboard installed

Floppy drive and serial boards installed in the case frame

Manufacturing date for this machine - 2 March 1983

Assembled machine with 2 x 720kb drives and blanking panel in the top bay

Closeup of the drive installation

 

SBC6120 PDP8 Replica - Part 5

The final result.

 

SBC6120 PDP8 Replica - Part 4

Assembling the FP6120 front panel is fairly easy.... if you read the instructions first.  

The worst thing you can do is jump ahead and install the front panel switches.  

Don't do that for two reasons.....

  • They look so much better painted and there is no way you can do this once they are installed.
  • A number of the solder on swages fit between the switches and cannot be installed once the switches are in place.

The build procedure (with hints) I used was a follows:

  • Install the solder on swages.  Make sure you read the FP6120 construction guide as the orientation of these differs depending on their use (FP6120 light bar mounting or SB6120 to FP6120 mounting).
  • Install the IC sockets, capacitors, resistors, diodes (except LED's), ferrite beads, power and FP disable switches and the switching regulator.
  • Take care when installing the resistor packs that you get the common pin orientation correct.  The common pin is marked on the PCB.
  • If you are using LED's other than the red ones in the parts list then it is good practice to use sockets for RP1, RP2, RP3 and RP4 allowing the resistors to be easily changed if the LED's are too bright.  I used 2K2 resistor packs for the warm white LED's.
  • Install one of the two 50 pin stacking headers supplied with the kit in J1 with the female side on the component side of the board.  Do not trim the pins..... you need these when mounting the SBC6120 later.  (The other 50 pin header is installed on the SBC6120 with the female side on the component side of the SBC6120 board).
  • Install a two pin stacking header on J5 also with the female side on the component side of the board.   I suggest reading my article on repurposing Arduino headers for this.
  • Perform a power on test checking the regulator output at +5v and the VCC and VSS lines on each of the IC sockets. 

 

FP6120 ready for initial power test

Close up of J1 on the solder side of the FP6120

Close up of J1 on the component side of the FP6120

If your initial power on test was successful then:

  • Install the IC's.
  • Install the light bar and then the LED's following the instructions in the FP6120 manual to ensure they are correctly positioned.
  • Install the rotary switch after trimming to length as described in the FP6120 manual.  Note that in my pictures the switch is not trimmed and I did it later.... possible but there is more risk that you will damage the board.
  • Temporarily mount the FP6120 on the back 50 pin and 2 pin headers and repeat the power up test.  The front panel LED's will run through a memory test and eventually stop with the RUN LED not lit.  If you have the serial interface connected to the SBC6120 then use the monitor to read and write memory and validate that you see the address and data displayed on the front panel. 

 

FP6120 with SBC6120 installed - No switches

Finally

  • Mount the front panel switches.  

If you want these to look good then they need to be straight.  The approach I used was to insert the switches and on the component side of the board solder a single pin on the lower side of the switch to hold the switch in place while using a ruler to align the top edges of all switches.  

This sounds more complicated than it is.

When all switches are in place look down the row of switches from the ends and adjust any switches that are out of alignment.

When the alignment looks good change to the solder side of the board and solder the remaining switch pins.

FP6120 with SBC6120 installed - With switches


 

 

TRS80 Model 4 Rebuild - Part 2

Having sorted out the serial interface connections I turned my attention to the floppy drive controller. 

Interestingly the machine had the spectrastrip connector between the main board and the floppy drive connectors replaced with SIL headers and an IDC cable when I received it.  Likely by a technician as TISCO (the service agents that worked for Porterfield Computers) back in the mid 1980's when the stock internal drives were being replaced with four half height units.

Mainboard floppy disk controller SIL header

In addition to the connector replacement was another modification to the floppy drive controller to switch the drive select lines on the internal connector between drives 0 (80 track) and 2 (40 track).  This allowed the machine to boot either 80 track or 40 track diskettes.  The drive select lines were wired to a switch mounted on the back of the cabinet.

Floppy drive controller with DS0/2 select switch

Back side of the floppy drive controller showing the connection to the DS0/2 switch

Closeup of the connections for the DS0/2 switch

The FDC in this machine is PCB#8858160.  The schematic is included in the Model 4 Technical Reference Manual.

Reversing the modification required the following changes:

Remove switch
Reconnect U1 Pin 4 -> J1 Pin 10 
Remove U18 Pin 6 -> J1 Pin 14

 

 


Page 4 of 11

Powered by Easytagcloud v2.1

Contact Andrew Quinn

jaquinn@ihug.co.nz http://twitter.com/jaquinn