[Search for users] [Overall Top Noters] [List of all Conferences] [Download this site]

Conference hydra::amiga_v1

Title:AMIGA NOTES
Notice:Join us in the *NEW* conference - HYDRA::AMIGA_V2
Moderator:HYDRA::MOORE
Created:Sat Apr 26 1986
Last Modified:Wed Feb 05 1992
Last Successful Update:Fri Jun 06 1997
Number of topics:5378
Total number of notes:38326

4309.0. "MultiKickStart ROM adapter Project" by CSC32::A_ANDERSON (DTN 592-4170 NSU/VAX) Mon Nov 26 1990 10:44

This is a Multiple KickStart Rom Adapter module schematic.  The Purpose 
is to provide multiple versions of KickStart ROMs to be available to the 
Amiga user with the flick of a switch.  With the advent of WB2.0 not all 
software will be compatible with the new version of operating system.  
There is still some software that will not run properly under version 1.3.  
Electronic Arts Deluxe Music construction set is one such.  DMCS is fairly 
stable under 1.3 kickstart and Workbench 1.2.  Using the 1.2 Kickstart 
and WorkBench 1.2 I have not had any difficulty.  I expect similar problems 
with KickStart 2.0. That is the reason that I decided to experiment with 
this adapter.  

The schematic is just for the Rom select logic all other pins are wired 1 
to 1.  Pin 10 is left disconnected.  Pin 12 is the _ROMEN signal this is 
generated on the GARY chip and is used to select the KickStart ROM.  Pin 
10 of the ROM is the _CS or Chip Select input this is usually left grounded.
I have included a truth table to show how the select logic works.  Basically 
the switch is place in one of three positions.  This places a low on the 
input to one of the NOR gates.  It also brings that ROM's _CS signal low.  
When GARY drops _ROMEN it is passed through to as a high to the Inverter, 
the inverter inverts this back to a low enabling that ROM.  The other two 
ROM's have their _CS pulled high by their 4.7K ohm resistor and this also 
prevents the _ROMEN signal from passing the other two NOR gates.

The combination of the NOR Gate (7402) and the inverters (7404) actually 
make a OR gate (7432).  The 7432 can be used instead of the 7402 and 7404 
combination. 

Under KickStart 1.2 you could not Autoboot a disk controller.  On my disk 
controller in the 1.2 ROM position I needed to disable autobootting.  This 
meant inserting a jumper on the disk controller.  Actually all this did was 
ground a pin.  Thus I added the _BootDisable this goes back the to the 
GAME jumper on my disk controller.  So when the switch S1 is in the 
KickStart 1.2 position a ground is placed on the Game pin disabling the 
controllers ability to autoboot.  Without this under KickStart 1.2 my 
Amiga will constantly reset itself. 

Problems:  I cannot get this to work reliably with my 68020 accelerator 
enabled. under KickStart 1.3  It will occasionally boot but usually I 
get GURU's from Address errors (3), Illegal instructions (4) and Line 1111 
emulator (B).  Turning off the accelerator and it boots every time.  It 
also works with and without the 68020 under KickStart 1.2.  Is the timing 
that critical?  Or can the address/Data lines be touchy.  Any ideas?
    
Construction is a 8 inch 40 pin ribbon cable with a 40 pin header on each 
end.  One side is connected to the ROM socket and the other to a 40 pin 
wire wrap socket on a perf board.  There are three 40 pin sockets on the 
perf board to accomadate the three KickStart ROMS.  The perf board is 
sitting where the second 3.5 inch floppy would be.  I have the Switch 
mounted on the back of the Amiga in one of the blank panels over the 
serial port and next to the power supply.  With a Amiga 500 you would have 
to enclose this in a box since the wire wrap pins would not allow it to 
be placed inside the case.  

    Alan
    
T.RTitleUserPersonal
Name
DateLines
4309.1Sent to TAPE::user2:[upload]CSC32::A_ANDERSONDTN 592-4170 NSU/VAXMon Nov 26 1990 10:474
    I copied the file MultiKick.lzh to tape::user2:[uplaod].  This contains
    a text message and a IFF schematic of the ROM select logic.
    
    
4309.2Purpose of Mode pinCSC32::A_ANDERSONDTN 592-4170 NSU/VAXTue Nov 27 1990 16:218
    Does any one have the specs on the ROM chip its self.  I was wondering
    if is is perhaps tri state.  If so their are only three pins that could
    possible place its outputs in Hi Z.  Trouble is when I left the Field I
    left my "O" Scope behind.  I will attempt to play with the Mode pin
    this weekend and supply a low on the ROM not being used.  My luck it will 
    stick the ROM in Program mode.
    
    
4309.3Mode used still no goCSC32::A_ANDERSONDTN 592-4170 NSU/VAXSun Dec 02 1990 18:2413
    Adding inverters to the three mode pins did not change anything.  I am
    selecting the ROM three ways.  CS (10) is help low, Mode (30) is brought 
    High and Romen (12) is passed through.  The silly think still will not 
    boot reliably with the Accelerator enabled under 1.3.  If I remove the 
    1.2 Rom then it works with out a hitch.  The thing most likely will have 
    to be buffered for all three ROMS data and or address lines.  That will 
    make it a little to expensive for a home project.  I have seen a product 
    to do just this for $99.00 and the ROM is keyboard selectable.
    
    Anyone got any Ideas?
    
    Alan
                               
4309.4Buffers are good.RGB::SCOTTMon Dec 03 1990 08:2511
>    Anyone got any Ideas?
    
	I'd seriously consider the buffering idea. Running a bus over
    the 3 (?) feet of cable is problematic at best. Which explains
    why it'd work with the 68000 (slow), but not the 68020 (fast).

    Another experiment you might try is getting faster ROMs. Allows
    more time for the data/addresses to settle. (And, depending
    on how slow the buffers are, you might need faster ROMs anyways).

							Rob
4309.5KickStart ROMS in different speeds???CSC32::A_ANDERSONDTN 592-4170 NSU/VAXMon Dec 03 1990 16:248
    Faster ROMS?  I did not know CA sold KickStart ROMS in different
    speeds.  KickStart 1.2 works with the accelerator 1.3 does not. 
    KickStart 1.3 works with the 68020 as long as it is the only ROM on
    the board.  I will wait until 2.0 is released and revisit this but I
    suspect I will have the same results.
    
    Alan
    
4309.6K.I.S.S.CSC32::A_ANDERSONDTN 592-4170 NSU/VAXThu Dec 13 1990 19:3627
    Ken Olsen had it right Keep It Simple Stupid.  
    
    I finnally got it to work.  I did away with the cable entirely and plugged 
    the MultiKick Adapter module directly into the KickStart ROM socket.  This 
    is a tight fit and I needed to do some creative trimming of the wire wrap 
    pins, then insulate the bottom of the floppy cage.  It definitly will not 
    work its way loose.  This could be a problem if anyone has a accelerator 
    or other add on that covers the ROM socket.  It also will not work on a 
    Amiga 500, due to the RF shield.  But if you do not have an accelerator 
    then the cable to extend it would work.  
    
    So far it looks real stable I have booted quite a few times without any 
    problem with the 60820 turned on at 16MHZ.   If it contnues to work I will 
    update my drawing and upload it to Tape::.  When 2.0 hits the streets I 
    will see if adding a third ROM will make any more difficulties.
    
    No guarantees on how it will work with those 68030 at 25MHZ or beyond. 
    Course if someone has one laying around and not in use.  I will be glad 
    to test it!!!
    
    
    
    Alan
    
    
    Alan
      
4309.7Final rev on TAPE::USER2:[Upload]CSC32::A_ANDERSONDTN 592-4170 NSU/VAXMon Dec 17 1990 21:187
    Got the updated file on TAPE::USER2:[UPLOAD]MultiKick.LZH.  I have not 
    had any trouble with it so far.  Now all I have to do is wait for 2.0
    to be released.
    
    Have fun
    Alan
    
4309.8NSSG::SULLIVANSteven E. SullivanWed Dec 19 1990 14:2112
a concern I have heard from commodore folks about multi-kickstart-rom
adapters is loading of the 680x0 bus. This is less of a problem with
68010/20/30/40 than a straight 68000, apparently something to do with
stronger bus drivers. Three roms seemed to be the point where 68000
bus cycles would begin to get flakey in an A2000. Then again, it seems 
the bus design of the 2000 is considered by some (commodore) engineers 
to have little margin built into the design.

Anyway, try it! If it works reliably, great! Be sure to try it in a loaded
machine to see how additional zorro bus loads affect operation. 

	-SES
4309.9KALI::VISSERWed Dec 19 1990 17:486
    Steve, I don't think a fully loaded machine will make a difference; I
    recall that the Zorro II slots are buffered.  The cpu slot isn't.
    
    True?
    
    John
4309.10My results show the oppositeCSC32::A_ANDERSONDTN 592-4170 NSU/VAXWed Dec 19 1990 20:1616
    The first version that I played with worked with the 68020 turned off
    always.  The 68000 did not have a problem.  This was a timing/load problem. 
    With the 1.3 ROM as the only ROM on board it worked when I added a 1.2
    ROM the 1.2 worked always.  The 1.3 would intermitantly boot, most of the
    time it would fail usually on the first disk access.  I turn the 68020
    off and it would boot.  To turn it off I just remove the clock from the
    accelerator module with a switch.  Electrical load does not change
    timing does.  A bare bones system showed the same result.  This last 
    version with out the cable has been rock solid.  As for the bus I have a 
    ProRAMM memory, ICD disk controller, and Xt bridge board.  But as -9 says 
    and my previous failures show the bus should not affect it.
                                  
    
    Good Luck
    Alan
    
4309.11Latest versionCX3PT3::WSC017::A_ANDERSONCSC32::A_Anderson NSU/VAX DTN 592-4170Mon Dec 02 1991 21:42115
    I updated the drawing to accommodate the pin 31 to pin 1 jumper on the
    WB2.0 roms.  It is now on EOT::AMIGA:[Upload]MultiKick.LZH and .TXT
    dated DEC 2, 1991.  The one from 1990 can be deleted, it is only World
    RE so I do not have the privs.  
    
    This is working for me but so far I have not had much of a reason to
    reselect the 1.3 ROM.  WB 2.04 as released is very stable.  I have used
    the 1.2 ROM to "lock out" my hard disk when my nephews visited to play
    games.  But thats just my paranoia.
    
    

		M U T I K I C K   A D A P T E R   M O D U L E



The MultiKickStart ROM adapter module is intended to give your Amiga 2000
the ability to have three kickstart ROMs installed at one time.  Any one of
which can be selected from a switch.  Included with this archive are two
other files.  MultiKick.IFF which is the ROM select logic diagram and
MultiKick_layout.IFF which shows the wire wrap view of the module installed
in the Amiga 2000 mother board.



History:

My first two attempts used a 40 pin cable to connect to the Mother board's
kickstart ROM socket.  These worked except when I tried my 13MHz 68020
accelerator; then the 1.3 ROM would fail to boot reliably unless it was the
only ROM on the adapter board.	The 1.2 ROM worked flawlessly.	The
propogation delay was enough to cause the failure.  The latest version
plugs directly into the ROM kickstart socket on the mother board. I
currently  have done a minor modification to accomidate the WB 2.0 ROM.
This resulted in a parts reduction.  On the Original plan I used a inverter
(7404) to select the mode pin on the ROM (pin 31).  On older Amigas this
was the signal A17.  Newer Amigas correctly use Pin 1 as A17.  The WB2.0
ROM comes with a jumper to move this signal to pin 1 as it should be.  So I
removed the Mode signal and wired it one to one as the other pins were.
This eliminated the 7404 from use.  Treat the jumper on the WB2.0 ROM as
you normally would per the instructions from Commodore.

Also I have tested this with a 13Mhz 68020 accelerator. I do not know how
faster accelerators will fair.



Lack of Warranty:

This hardware project is not for the faint of heart.  Serious damage can
be done to your Amiga if you are not careful.  I make no warranties of any
kind and any attempt of anyone to build this on their own, takes all
responsibilities onto themselves.  I make no warranties as to the
effectiveness and or reliablilty of this project.  Basically it worked on
my Amiga 2000.	It is up to you to get it to work on yours!



Construction Tips:

The file MultiKick_Layout.IFF is the view of the Adapter module from the
wire wrap pins in the Mother board.  Notice the orientation of pin 1 of
the KickStart ROM socket to pin 1 of three ROM sockets.  The three added
kickstart ROMs are facing downward.  I added the 1.3 ROM socket to the
immediate left of the ROM socket and the 2.0 is positioned immediatly to
the right.  This was an attempt to reduce the propogation delay to the
absolute minimum. The 1.2 ROM socket is the farthest away.  The 7432 adds
an additional 10ns - 22ns propogation delay to the _ROMEN signal from the
Gary chip.  A 74F32 might reduce this even more.   Faster accelerators might
need this.  I could not find a source for a 74F32, and the 7432 works on my
setup.

After the adapter board is wired and tested with a multimeter for contnuity
you can then test it in the Amiga with the drive bay laying to one side.
You might have to disconnect the second drive (DF1) if any to get the
floppy cable to stretch far enough.  After this test proves successful
carefully trim off any excess wire wrap pins.  Then using plastic coated
contact paper insulate the bottom of the drive bay to ensure that none of
the wire wrap pins will come in contact with the metal of the drive bay.
One final construction tip.  I used a forty pin solder socket to add height
to the Mother board ROM socket.  The forty pin headers are plugged into the
solder socket and not directly into the Mother boards ROM socket.  This
added just enough height for the added ROM sockets to clear the components
on the Mother board.  As it was I still had to gently push over a resistor
pack next to the 68000 for the 1.3 ROM.  The 1.2 ROM is laying directly on
top of the RAM memory to the right of the KickStart ROM socket.	The
placement will prevent any CPU accelerators or expansion memory that uses
this area. This might work in a Amiga 500 but the RF shield would have to
be sacrificed.



Operation:

The Kickstart is selected normally by a low on the _CS (pin 10) and the
GARY chip supplying _ROMEN to pin 12.  The ROM select logic is pretty
simple, place the switch in one of three positions and a ground is placed
on one side of the OR gate.  This also places that ROM's _CS signal (pin
10) low.  The low on one leg of the OR gate will allow the GARY chips's
_ROMEN (pin 12) through to that ROM. The other two ROM's have their _CS
signal held high by the 4.7K pullup resistor. Also the associated OR gate
will not pass _ROMEN. The result is that only one ROM will be used.



_BootDis signal:

On my hard disk controller in order for it to be used under kickstart 1.2 I
needed to disable autobooting.	To do this I needed to place a jumper on the
controller.  All this actualy did was ground a signal.	I wired this into
the ROM select switch so that when the 1.2 kickstart ROM is selected the
Hard disk controller has autobooting turned off.  Otherwise my Amiga
continually reset and would not load the kickstart code.