Important Note

All modifications are COMPLETELY at your risk. I have not the slightest idea if any of them work. If you decide do to any of this stuff, and it damages your hardware, that’s on you. Proceed at your own risk.


Hardware Modifications and Patches – Model I

Menu


Converting Model I Screen to Inverse Video

Background:

This is the version that works with just a switch to select modes. The theory behind this one is simple, there are two character generators in a TRS-80/SYSTEM-80, one makes the characters and the other one makes the graphics. The hardware decides whether it is about to draw a character or a graphic symbol and lets the appropiate character generator know, it then has a look at memory to see which character/graphic symbol it has to draw, and tells which ever generator is needed, which sends out the first row of dots in parallel (ie. 8 at a time). They are grabbed by a shift register and made to go in single file – (serial). These serial bits go through an OR gate so if there is a dot to be lit up from the graphics generator OR there is a dot to be lit up from the character generator then the gate sends a dot off to the sync section. If there IS a dot to be lit up, it is sent off to another section where it is mixed in with horizontal and vertical sync and sent of to the screen. What we are going to do is reverse all these dots BEFORE the get mixed in with the sync signals. (ie. turn all black dots-white and all white dots- black). To do this we are going to use an I.C. called an “inverter”. This nifty little I.C. has SIX inverters in it (hex=six), we are only going to use one, the other five can be used for other mods. You will also need a switch to select modes.

Please note that some monitors will NOT display inverse video, some of these are RITRONICS and BMC monitors. All tandy monitors and all dick smith monitors WILL work and most others will as well. in all cases an increase of the brightness control will be needed. it is perfectly all right to switch modes while the computer is running.

What Parts do I Need?

  • 1 x 74LS04 I.C.
  • SINGLE POLE,DOUBLE THROW switch. (The switch should have three terminals and the I.C. should have 14 pins.). Once again this article is only for the AMERICAN TRS-80. If you are not sure what type yours is then open it up and have a look at the processor socket and see what number it is if it is Z40 then your computer is AMERICAN, any other number and it’s JAPANESE.

How Do I Do It?

  1. Open up your Model I case and carefully remove the keyboard and the circuit board being careful not to flex the cable joining them too much.
  2. Lay it out on the table with the side with all the I.C.’s on it facing up.
  3. Prepare the 74LS04 by bending all pins except pins 7 & 14 (bottom left & top right) so that they stick out sideways.
  4. Cut the thin parts off so that you are left with a neat little solder pad.
  5. Find the I.C. labelled Z6 on the board and tin the OUTSIDE of pins 7 & 14 on Z6.
  6. Tin the INSIDE of pins 7 & 14 on our piggy back 74LS04 and sit it on top of Z6 so that all the pins line up correctly.
  7. Push pins 7 of the top and bottom I.C.’s together with the soldering iron so that they join and do the same for pin 14. If they don’t join properly then remove the I.C., add some more solder and reapply.
  8. Once soldered, check that there are no shorts.
  9. Find the track leading between Z30 pin 1 and Z41 pin 6. (it may be underneath the I.C.!!). If you are not sure then check with a multimeter.
  10. When you have found it then use a sharp razor blade and cut it neatly and carefully.
  11. Drill a hole somewhere in your case and mount the switch somewhere convenient.
  12. Connect a wire (nice,thin stuff, NOT 240 volt wire) between Z30 pin 1 and our piggyback 74LS04 pin 1.
  13. Connect the center pin of the switch to Z41 pin 6.
  14. Connect another wire from either side of the switch to pin 2 of our 74LS02.
  15. Join the side of the switch that you havent used yet to our 74LS04 pin 1 (that should make 2 wires to this pin).

Keyboard Repair – Computasaurus

  1. Remove the keycap (Just pry up on it or use a bent paper clip to help remove the cap)
  2. Clean between the fingers with a thin piece of cardboard soaked with alcohol or tuner/contact cleaner.

Model I CP/M Hardware Conversion – Bruce Orr

CP/M conversion for Model I as designed by Bruce Orr.

Overview

This modification adapts the TRS 80 model I for CP/M by:

  1. Remapping memory so that RAM commences at 0000H.
  2. Adding a jump to zero reset switch.

Component List

  • 1 x 74LS04 hex inverter
  • 1 x 74LS367 hex tri-state bus driver
  • 1 x 1 M resistor
  • 1 x 0.022uF capacitor
  • 1 x SPST toggle switch
  • 1 x push button (N.O.)
  • PCB or Veroboard

MEMORY REMAPPING

This is achieved by swapping the first 16K block of memory (ie ROM & I/O) with the last (part of RAM).

 FFFF +------+                    +-------+  video = FC00
      ! RAM  ! -------+ +-------> ! IO,ROM!  keybd = F800
 C000 +------+        ! !         +-------+  disk controller
      ! RAM  ! -----------------> !  RAM  !        = F7EC
 8000 +------+         X          +-------+  disk select
      ! RAM  ! -----------------> !  RAM  !        = F7E1
 4000 +------+        ! !         +-------+  ROM (now quite
      !IO,ROM! -------+ +-------> !  RAM  !   useless) = C000
 0000 +------+                    +-------+
    normal (TRS) mapping        CP/M mapping

The CP/M memory mapping is achieved by inverting & swapping address bits A14 & A15 from the Z80 before they enter the address decoding circuits.

It is recommended that this be built on a small PCB mounted near the Z-80 on the main board.

Existing Circuit

+-----------+           12    11
!       A14 !--------------!>----------------
!  Z80      !
!       A15 !--------------!>----------------
+-----------+            10   9
                    Z38 (74LS367)

MODIFIED CIRCUIT:

+-----------+
!       A14 !----+---------!>---------------------X-------+--
!  Z80      !    !   Existing gates not used     Cut      !
!       A15 !-+--)---------!>---------------------X----+--)--
+-----------+ !  !                                     !  !
              !  !              4    5                 !  !
              !  +----------------!>-------------------)--+
              !  !                 !                   !  !
              !  !              2  ! 3                 !  !
              +--)----------------!>-------------------+  !
              !  !                 ! 1                 !  !
              !  !                 +----------+        !  !
              !  !  11   10    14    13       !        !  !
              !  +----!>o---------!>----------)--------+  !
              !                    !          !           !
              !      3   4     12  ! 11       !           !
              +-------!>o---------!>----------)-----------+
                                   ! 15       !
                       o----!>o----+------!>o-+
           0V ------o--o   1   2        13  12
                   switch
               closed=TRS, open=CP/M           !>  LS367
                                               !>o LS04

Reset Switch

Note: Do not do this on a System-80; it is significantly different

Requirements

  • Must not disable power up reset.
  • Provide sufficient reset pulse to reset the Z-80
  • While the Z80 is held reset, memory refreshing is halted. Thus, reset pulse must not be too long, even if reset switch is held closed.

Original Circuit:

        +5V !
            X
        10K X
            !   NAND gate
            +======!)o---- RESET
            !
           === 10uF C42
         0V !

New Circuit:

        +5V !
            X
        10K X
            !
            +-------+======!)o---- RESET
            !       !
         1M X      === 22nF C42 (0.022u)
reset       X       !
 P.B. _I_   !       !
 0V --o o---+-------+


Reset Button Modification – Brett Paulin

Are you tired of your system rebooting when you hit the reset button? Would you like to go back to the good old days where you could reset and return to basic with the program intact? If so then rejoice! Here’s the solution. All you need is a SPST switch and a 4.7K resistor.

FOR THE TANDY INTERFACE:

  • Cut Z32 pin 4 to Z34 pin 4
  • Connect the 4.7K resistor from Z34 pin 4 to +5 volts
  • Connect the SPST switch from Z34 pin 4 to Z32 pin 4

FOR THE L.N.W. BOARD INTERFACE:

  • Cut U19 pin 4 to U14 pin 4
  • Connect the 4.7K resistor from U14 pin 4 to +5 volts
  • Connect the SPST switch from U14 pin 4 to U19 pin 4

When you want the reset button to work normally, open the switch, this makes the FDC (Floppy Disk Controller) invisible to the computer and the reset works normally, If you want to use the disk then Close the switch so the CPU can “see” the F.D.C. (You CAN flick the switch while the computer is on without hurting anything-but I wouldn’t reccomend flipping it in the middle of disk access, I have no idea what would happen, probably the system would just lock up).