[net.micro.cbm] expansion port killer switch

kwf@ncsu.UUCP (01/15/86)

After inquiring about adding a killer switch to the expansion port,  I
recieved several replies.  I would like to thanks all those who took the time
to help.

I use the FAST LOAD cartriage by EPXY.  It works great, however, some software,
such as EASY SCRIPT refuse to run correctly while the cartriage is in the port.
The disable function in the menu of FAST LOAD does not solve this problem.
If the software does anything similar to a cold start, the cartriage can still
interfere.  I was therefore forced to pull the cartriage out anytime I wanted
to run such software.  

In hope to avoid this (and reduce the stress on the port connector) I decided
to add a switch to the c64 which will truely disable the expansion port.  The
following is a summary of ideas contributed by fellow netters.

There are two control lines on the expansion port which are not
accessible by software.  These are EXROM and GAME.  These control the bank
switching for the memory located $8000 and $A000, respectively.
A cartriage in the port can use these lines to switch out the RAM or ROM in
the c64 and switch in its own memory.  If GAME is held low by the cartriage,
the BASIC ROM is switched out and the cartriage code replaces it.  This
is often used by BASIC extensions.  The EXROM line is used by auto-atart
cartriages, such as FAST LOAD.  It order to install a switch to disable
the port, these two lines must be re-routed.

If the keyboard of the c64 is removed (the top of the case) the two pins
of the expansion port used for these lines are easily desoldered from the
board.  A dpst switch can then be wired between the pins and the holes in the
board where they were originally connected.  

Since I was only concerned with disabling auto-start cartriages, I only
altered the EXROM line.  However, both lines should be altered to
disable the entire expansion port.

While the c64 is opened up, I highly recommend that a reset switch is also
added to the system.  A normally-opened push-button switch can be wired
between the reset and ground, allowing the system to be reset without cutting
the power off.  I've used such a switch to save several programs.
Since the power to the memory is not interrupted by a reset, the contents
are still valid.  However, all pointers to the program are detroyed.
I wrote a simple ML program which can be loaded after a reset and run.
It will restore any BASIC program which was in memory before resetting the
system (assuming the memory was not overwritten by a crazed program!).
The reset switch can be solder to the user port just inside the c64.
I think you'll find this the easiest place to work.

Back to the expansion port.  To disable the port, you simply cut-off the
killer switch, and then reset the system.  It can be enabled by cutting the
switch back on and performing another reset.

A word of caution - The power to the port is still connected, even though
the cartriage is disabled.  You should still not remove the cartriage while
the computer is powered up.

I hope this information helps someone.  If anyone would like a copy of the
BASIC restoring program I mentioned, let me know.  I could post it to the
net.  To be honest,  it is extremely simply.  Anyone with some ML experience
could write there own.

If you have any questions, please feel free to ask.

-- 
----------------------------------------

                    Kenneth Fernald
                    decvax!mcnc!ncsu!kwf

gibson@trwrba.UUCP (Gregory S. Gibson) (01/21/86)

In article <2974@ncsu.UUCP> kwf@ncsu.UUCP (Kenneth W Fernald) writes:
>
>I use the FAST LOAD cartriage by EPXY.  It works great, however, some software,
>such as EASY SCRIPT refuse to run correctly while the cartriage is in the port.
>The disable function in the menu of FAST LOAD does not solve this problem.
>If the software does anything similar to a cold start, the cartriage can still
>interfere.  I was therefore forced to pull the cartriage out anytime I wanted
>to run such software.
>
I always run EASY SCRIPT successfully with FAST LOAD.  I know of only 2
programs FAST LOAD will not work with and both of those will operate with the
disable function.
>