The 40/80 Screen Mouse Switch

Started by Blacklord, June 24, 2007, 05:45 PM

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.

Blacklord

(Reprinted from C= Hacking #15)

@(#)hw: The 40/80 Screen Mouse Switch
        copyright (c) 1994-1997 by Michael Nausch (bigchief@muc.de)

Editor Note:  An archive containing this article and the GEOPaint pictures
described within it are available in "Hacking the Code" (Reference: code,
SubRef: 4080schematic).

@(A): Introduction

In 1994, I wrote an article for our club newspaper "Rundschreiben", issue 28
(GEOS Interessengemeinschaft SUED e.V.) describing my "40/80 Screen-Switch"
hardware extension that allows me to easily switch my monitor between 40 and
80 column modes using the keys on my mouse. After several club members and
friends in the fido-areas and internet-newsgroups asked me if I would sell
the 40/80 Screen-Switch, I decided to write this article and translate it to
English. I'd like to thank Gaelyne Gasson, who encouraged me and added the
final touches to the English translation.

What this hardware extension will do, and what it won't or can't do:

 1. It is not 'plug and play' hardware. You must modify your monitor.
 2. It won't automatically switch the mode of your monitor.
 3. Because the layout and other plans are in full size GeoPaint format,
    it should be relatively easy for anyone to build the 40/80 Screen-Switch.

@(A): Background Information

I built this switch for myself because I was too lazy to press the button on
my monitor to switch it from CVBS (40 column) to RGB (80 column) mode and vice
versa. I am a GEOS enthusiast and use GEOS for nearly all my C=128 activities.
I use other software only for the internet and bbsing, such as Novaterm,
Dialogue 128 or QWKRR128. Some of these programs uses both 40 and 80
column-modes, too. A lot of my GEOS software runs only in 40 column, so I
am often switching from one mode to the other and vice versa.

Most of my software gives me a hint on screen when I should switch my monitor,
and I originally considered using the CS input of the video chips and/or
converting the CVBS signal to RGB, but both were rejected as too complex or
too expensive. Since my mouse is always at hand, it seemed more practical for
the job.

After looking at the circuit diagram of my monitor I thought it should be
easy to do this. First I removed the original switch for changing the
40/80-mode and soldered a 5ft long cable to it for testing, if the monitor
worked right, (it did) I would carry on with my experiments.

Since the first step was done I needed to find a way to comfortably switch
the monitor modes. I didn't want to alter the mouse, because otherwise I
would have to do it every time I use another mouse. Modifying the keyboard
seemed impracticable, so I decided to make a little "black box" to go between
the mouse and the monitor.

Whenever I pressed both mouse buttons simultaneously I wanted the monitor to
change mode. I dismantled my mouse and looked at what was happening when I
pressed both buttons. I found that when I press the left button, the
'BUTTON A/LP' line (pin #6) is put to signal-ground. If the right button is
pressed, the line 'JOYA0' (pin #1) is put to signal-ground. I also noted
pin #7 had 5V DC, and since I had many chips of the 74xx family in my
electronics parts box, I decided to make the circuit with those IC's.

The first IC is a NOR-gate 7402. This gate will only output a "high" if both
inputs are "low". As noted above, if I press both mouse-buttons at the same
time, pins #1 and #6 of joy-port #1 are both taken "low" and only then will
the NOR-gate output a "high". This output is connected to the next IC, a
monostable multivibrator 74121. The keys of the mouse have an unpleasant
property, the bounce. Everyone has probably experienced this; one only has
to copy a GEOS-file, click on the icon and suddenly the file is opened. To
avoid this bounce, if the input of the 74121 IC is set to "high", the output
changes level only after awhile. If the input changes during this period,
nothing happens at the output. After the predefined time, the output can be
changed, but it changes the input. This time is dependant on the resistor R3
and the capacitor C1. For the 40/80Screen-Switch, I use approximately 0.6
seconds.

The output of the 74121 is connected with the clock input of a JK flip-flop
7473. One of the reasons the external wiring of the 7473 works is because
it is a D-type flip-flop. So every change to the input will change the output
of the 7473. With the help of a little NPN-transistor, we control a 5V DC
relay. The switch in front of this transistor allows us to switch the
monitor-mode by hand into 40 or 80 column-mode, or use the
automatic-operation. Because the JOYA0 and BUTTON A/LP lines are connected
directly to the keyboard, we must isolate our hardware from the keyboard.
To do this, we use the pull-up resistors R1 and R2 and diodes V1 and V2.

To prevent damage from induced voltage produced by the relay a diode is
connected antiparallel with it's windings.

@(A): Constructing the 40/80 screen-switch

Enough with the theory, now for the construction. First we must etch the
printed board. For printing the included GeoPaint file it's recommended
that you use a laser-or a true 80x80 dpi printer. If you have not etched
a printed board, ask a friend to help you. It's also possible to build
the circuit using the wirewrap technique or any other preferred technique.
After etching and cleaning the printed board, you must drill the holes for
the electronics. After that we bend the 13 little wire-jumpers and solder
them into the right places. Next we solder the diodes, (check the circuit
diagram for correct polarity) then the resistors, sockets for the IC's,
the capacitor and then the relay. Finally we connect the on/off-switch and
the nine-pin sub-d connectors to the 40/80 Screen-Switch. If you use the
special flat cable version of the connectors, you can also use the special
pin-sockets that were used in the industry and in personal computers. Last
but not least, you are almost ready to test your new hardware.

Inspect the printed circuit board and make sure that all solder joints
are O.K. and there's no solder splashes on the board. If everything is
okay you can put the new hardware into a box or stand it on plastic feet.
Connect the 40/80 Screen-Switch between your C=128 and mouse and then
make the connection to your monitor. You can now switch on your computer
and your monitor. With the double on/off switch you should now be able
to switch your monitor from the CVBS (40 column) to RGB (80 column) mode
and vice versa. If the switch is in "automatic" you should be able to
switch the monitor-mode by pressing both mouse-buttons simultaneously.
If it doesn't work, switch off your equipment and check all solder
joints, the electronic parts for the right placement and the etched
printed board for any hairline cracks. Correct any errors and test it
again.


@(A): Note:

Do not change the format of this text file and/or the geopaint schematics.
Use of this document or 40/80 Screen-Switch schematics for any purpose
other than for personal use requires the consent of the author
(Michael Nausch). Michael Nausch and Gaelyne Gasson have taken care to
ensure the information presented is correct, and accept no responsibility
for any damage caused to you or your equipment by use of the circuit
diagram and information presented in this article.

@(A): Equipment and parts list

     B1 - B13    wire-jumpers
     C1          capacitor 100 uF 16v
     C2 - C4     capacitor 100 nF 16v
     IC1         NOR-gate 7402
     IC2         monostable multivibrator 74121
     IC3         JK-flip-flop 7473
     k15V        relay with 2 switches
                 (type SDS JW 2 SN 5.0V)
     R1 - R2     resistor 1.8 k 0.25w
     R3          resistor 8.2 k 0.25w
     R4          resistor 330 ohm
     V1 - V3     Diode 1N4148
     V4          NPN-transistor BC107

     various small parts, like:
     three ic-sockets
     casing
     nine-pin sub d connectors
     flatwire-cable
     copper plated epoxy resin board 3 inch x 5 inch