5MHZ upgrade for Model T

From Bitchin100 DocGarden
Jump to navigationJump to search

Updated December 2023 work in progress!

This page shares the latest in a long sequence of "clock doubler" boards for the 80C85 used in the Model T computers.

Status

  * latest board is V4.6; Boards received and verified for M100.
  * Clock doubler power reduced enough to consider it "done"

Goals

  * support for all Model T computers - M100, T102, T200, PC-8201, PC-8300, M10, KC-85
  * buildable with moderate effort and skill
  * minimal and reversible modification to the computer


Features

  * software switchable speed up for compatibility
  * settable power-up default speed, 1x or 2x
  * hardware driven 1x slowdown function (needed for T200)
  * accelerated RAM timing signal (needed for M100, T102, NEC, KC-85, M10)
  * single sided component placement
  * 3 different PCB designs, optimized for fit in the specific laptop.
  * surface mount logic, leaded through-hole passives
  * low power consumption


PCB, Schematic, Design Files

PCB version 4.6 is the latest design and is available in 3 variants.

Model 100 and Olivetti M10 use this board:

  Gerbers
  Board images
  Schematic image
  Eagle design files

Tandy 200 uses this board:

  TBD
  

NEC and Tandy 102 use this board:

  TBD

Since OSHPARK is so clumsy in dealing with PCB revisions (basically you can't remove a bad file design once shared), I've decided to just post PCB gerber files and schematics here. That way I can control issues that I find and always have the corrected files available. IF files are posted at OSHPark it won't be by me, so no promises.

Clock Doubler build how-to

  Build how-to

Installation how-to

M100

  TBD

Olivetti M10

  TBD

Tandy 200

  TBD

Tandy 102

  TBD

NEC PC-8201

  TBD

Olivetti M10

  TBD

Bill of Materials

...of course you need to order a PCB using the Gerbers. I use JLCPCB; they are great and it is really easy. Just upload the gerbers and order.


  UPDATED December 16 2023 2023
  Note: there are valid subsitutes; feel free to adjust!
  Part     Value          Digikey             Package       Qty
  C1,2     22pF           399-13931-ND        C025-025X050  2
  C3,4,5   0.47uF         399-14039-1-ND      C025-025X050  2 (only 2 are needed, not 3)
  R1       499            CF18JT510RCT-ND     0204/5        1
  R2       1M             CF18JT1M00CT-ND     0204/5        1
  R3,4     10k            CF18JT10K0CT-ND     0204/5        2
  IC1      74HCU04D       1727-2863-1-ND      SO14          1
  IC2      74HC138D       296-1193-1-ND       SO16          1
  IC3      74HC393D       296-14851-1-ND      SO14          1
  IC4      74HC74D        1727-2824-1-ND      SO14          1
  IC5      74LVC1G157     1727-3491-1-ND      6-TSSOP       1
  IC6      74LVC1G79      296-9849-1-ND       SOT23-5       1
  IC7      74HC00D        1727-2773-1-ND      SO14          1
  Q3       9.8304MHz      2151-AS-8.000-20-ND HC49/S        1

Technical discussion

Power Consumption

In general, running at 5MHz consumes more power than 2.5MHz operation. In my experience, the speed increase tends to consume ~23mA of power supply current.

  The onboard oscillator circuit consumes more power all the time, as it replaces the oscillator in the 80C85.
  The flip flops, clock divider and clock mux on the 1x2x board also consume more power.
  In M100 for example, if the typical current is 50mA, using V4.6 board
  - adding in the 1x2x board may increase current to 57mA at 2.5 MHz.
  - 5MHz operation may drive up the current to 73mA or so.
  The V4.6 1x2x clock doubler board consumes 10mA at 2.5MHz and 12mA at 5MHz.
  The M100 itself consumes an additional 15mA to speed up to 5MHz.
  Just for information, I have a CPLD based clock doubler board that only consumes 4mA at 5MHz.

My personal feeling is that it is much better to have the option to run fast than to worry about consuming more battery. To each their own.

M100

In the Model 100, running at 2x clock rate requires a solution to 2 issues in general.

  1.  The main ROM is typically too slow
  2.  The SRAM modules may also be too slow.

Either of these issues may impair operation at 5MHz. OR - you might get lucky and it runs fine as is.

Speeding up the Main ROM

In the M100 technical reference, there is a comment that states the main ROM has 600nsec timing. Original ROMs were this slow; newer ones were faster. If after installation and trial, you believe your main ROM is too slow, this can be easily overcome by swapping in an EPROM. There are several solutions for this - for example there are adapter boards that convert the custom M100 main ROM pinout to standard 27C256. I recommend using a 200nsec or faster EPROM. No need to change the binary image, but you can always convert to T102 ROM for the bug fixes.


Speeding up the SRAM

On early M100s the system RAM is also (barely) too slow. Early RAM modules were 250nsec SRAM. Take a look at your SRAM... if they are -25 then they are too slow. If they are -20 or -15, you are probably ok.

The original A* signal in the standard M100/T102 design, is used to minimize SRAM power by disabling the SRAM when no read/write is occurring. This is actually very important. The longer the SRAM stays "on" the more power it consumes. In a battery laptop, you want to shut of the SRAM as much as possible. However, the timing of the A* signal is quite delayed in the CPU read/write cycle. A* is driven by the /RD and /WR signals.

To make slow SRAM work at 5MHz, you need to create an A* signal that enables the SRAM a bit earlier in the CPU cycle. This special A* signal needs to be wired into the M100. This involves cutting one track and soldering one wire.

The clock doubler PCB includes a generation of a replacement A* signal, which allows the slower SRAM to work at 5MHz. As a result of the advanced A* timing, the power consumption goes up a little bit.


T102

T102 installation is very similar to the M100. I have not however observed any problem with Main ROM speed; it seems that the T102 benefits from being built later, and hence has faster main ROMs. T102 does however require modified A* timing just like the M100.


T200

T200 installation is simpler than M100/T102, in that there is no issue related to Main ROM. SRAM speed can be an issue. On the Memory board (the board that has the option RAM and ROM sockets) there are 3 8k SRAMs for Bank 1. If these rams are 200nsec (-20) rated, the could be too slow.

T200 does have one new gotcha. The real time clock chip RP5C01 is really slow and cannot run at 5MHz. Period. So, we need another solution.

Dealing with slow SRAM

There isn't an easy way to accelerate the SRAM timing like was done for the M100/T102/NEC/M10 etc. Replacing the SRAM chips is a lot of work. An alternative would be to (1) disable the onboard SRAM and (2) add an SRAM card that can provide all 3 banks with fast SRAM. Such a board does not yet exist (!). So, if you have 200nsec SRAM, this upgrade might not be for you.

Slowing down to use the RTC

The answer is to actually disable 5MHz operation when the CPU is accessing the real time clock chip. Thankfully, there is a pretty easy fix. The clock doubler PCB has a special input signal that, when low, disables 2x mode. Addition of a single wire to connect the "CL" signal at a specific location on the T200 motherboard, to this input allows the T200 to automatically slow down only when the RP5C01 is being selected.


Low Profile

Building this for installation in T200 requires that the height of the board over the CPU be kept to a minimum. Make sure all avenues for minimizing height are utilized. Consider using surface mount caps for example to keep the profile to a minimum. Ideally the SMT chips should be the tallest components on the board, and the board should be mounted flush to the CPU.

NEC PC-8201

I have not yet done an actual install, but I expect it will have the same issues as M100.

  Expect the Main ROM may be slow, and needs a 27C256 upgrade.
  Expect there could be slow SRAM modules, and needs a new A* signal.


NEC PC-8300

I have not yet done an actual install, but I expect the machine is compatible with 5MHz operation with no problem with Main ROM or SRAM timing.


Olivetti M10

I have not yet done an actual install, but I expect it will have the same issues as M100.

  Expect the Main ROM may be slow, and needs a 27C256 upgrade.
  Expect there could be slow SRAM modules, and needs a new A* signal.


Kyocera KC-85

I have not yet done an actual install (because I don't have a KC-85!, but I expect it will have the same issues as M100.

  Expect the Main ROM may be slow, and needs a 27C256 upgrade.
  Expect there could be slow SRAM modules, and needs a new A* signal.

Software control of the clock doubler

To control the clock rate of the laptop, the following BASIC commands are used.

  OUT85,0   sets to 2.5MHz
  OUT85,1   sets to 5MHz

Easy to remember! 8085


Installation Files

Computer model Installation files
T102 T102 1x/2x clk mod V1.0 Nov 2023.pdf
M100 M100 1x/2x clk mod V1.0 Nov 2023.pdf
T200 T200 1x/2x clk mod V1.0 Nov 2023.pdf
PC-8201 NEC 8201 1x/2x clk mod V1.0 Nov 2023.pdf
PC-8300 not yet investigated
M10 M10 1x/2x clk mod V1.0 Nov 2023.pdf
KC-85 like M100?


As I test and more-or-less land on a reasonable upgrade process, I will post instruction files here If you have any questions, please get in touch with me at Twospruces at --the google mail service.

What about compatibility with REX#/REXCPM?

REX# and REXCPM from November 2021 are built and tested compatible with 5MHz. In fact my test station runs at 5MHz. If you have an earlier REX#/REXCPM, contact me to discuss what to do.


NSC800 / CP/M @ 5MHz

For M100 with NSC800, contact me for a solution. This would of course be a dedicated CP/M machine with REXCPM installed.

Compatibility issues @ 5MHz

As issues are identified, they will get listed here.


FAQ

As this is tried I'm sure questions and comments will arise. We can capture useful information here. Thanks.

Q. Can I buy this assembled and tested from you? A. No, unfortunately. I have no way of testing it other than to install it. I think it is best to consider this a DIY project.