GETTING YOUR KICKS IN ROM by Jude Katsch If you never want to see another KickStart disk and you need an additonal 256K of FAST memory buy you only have a hundred dollars, I may be able to help you! Commodore-Amiga has put some of the strings to do this into the Amiga 1000 ZORRO board, so with only slight modifications you can ugrade your system. Be forwarned that any modifications yu do to lyour Amiga are at YOUR OWN RISK and may VOID YOUR WARRANTY! Step one: The first thing we need to make is a set of KickStart ROMS. Intel 27512 250ns or equivalent will work. When I last checked the price was about $25 each. Now KickStart must be converted into something a PROM programer can understand. There is a program called MakeRoms that automatically conv erts the system KickStart into four Motorola-S files. MakeRoms creates four files: FC-Odd: odd bytes from 0xfc0001 to 0xfdffff FC-Even: even bytes from 0xfc0000 to 0xfdfffe FE-Odd: odd bytes from 0xfe0001 to 0xffffff FE-Even: even bytes from 0xfe0000 to 0xfffffe Download each file to the PROM programmer, burn, and label the PROMS (e.g. FC-ODD, FC-EVEN, FE-ODD, FE-EVEN). Step two: In order to install the PROMS into your system you will need to add sockets in PROM locations U2N and U2P and remove the current boot PROMS in locations U5N and U5P. Install the four KickStart Proms in the machine: FC-ODD: U5P FC-EVEN: U5N FE-ODD: U2P FE-EVEN: U2N Jumpers W2 and W4 need to be modified to change the PROM addressing: 1) Cut jumper from square to center circle pad on W2. 2) Cut jumper from outside circle to center circle pad on W4. 3) Add jumper from outside circle to center circle pad on W2. 4) Add jumper from square to center circle pad on W4. Jumpers on a standard A1000 two layer PCB. W1 W3 []-() () [] ()-() () ()-[] ()-() [] W2 W4 Jumpers after modification W1 W3 []-() () [] ()-() ()-() [] () ()-[] W2 W4 NOTES: 1) () represents a circle pad. 2) [] represents a square pad. 3) Existing jumpers are on the backside (solder side) of the PCB. 4) Jumpers are located near U5N (Even PROM socket). Step three: Now we need to modify the ROM/RAM board, this is the board that piggybacks the ZORRO board. 1) Cuts: Cut U6J pin2 (solder side). Cut U6J pin8 (solder side). Cut U5M pin4 (solder side). Cut U5M pin5 (solder side). Cut U5M pin6 (solder side). 2) Adds: Add jumper between U6J pin8 and U6J pin10. Add jumper between U6J pin2 and U5M pin4. Add jumper between U6N pin6 and U5M pin5. Add jumper between J3 pin2 and U5M pin6. Add jumper between U5M pin9 and U5M pin7. Step four: Reassemble the machine. Power up the machine and voila, it should come up requesting the WorkBench disk. After WorkBench boots, the additional FAST memory needs to be added to the free memeory list. This is kdone by using the ADDMEM command provided on the ToolKit disk. Amiga Prompt> ADDMEM 0xf80000 0xfbffff Note: ADDMEM 0xf80000 0xfbffff should be added as the first command in the startup-sequence. ---------------------------------------------------------------------- Got my Kicks in Rom (or a study in "Kicking my Guts 101") by Bruce Takahashi (Bruce's Repair 415-525-6973) Holey Silicon! Was I ever excited when I saw this article in Robo City News. I purchased some 200ns 27512 eproms from Fry's Electronics for $12 each, dusted-off my Commodore 64 computer, connected up my Promanade eprom programmer and said "ooh...". Where's this MakeRoms program? Searched.. Couldn't find; didn't exist; programmed my own; called it S-Rommer. I couldn't tell you what S-Rommer means but at least I knew what it did and it did it fine. My first useful program, while learning Lattice-C, was MemLook. This allowed me to browse through my Amiga's memory and display its contents in hex and printable ascii. It also can save memory contents to a disk file. Just what I needed for input to my S-Rommer program. The plan begins to solidify! I use MemLook to save KickStart memory to a disk file; use S-Rommer to divide the disk file into 4 eprom binary files; Xmodem the eprom binary disk files to my C64 computer; concatenate a C64 load address to these files; program eproms on my C64; "oops...". Think about it for a while kiddo (me). Each file is 64K long and my neato C64 had 64K ram in total. Reprogram S-Rommer to produce 8-32K files instead of 4-64K files; repeat process and continue. It works out. Even the latest Promanade technical papers that I picked up at the Commodore Show said that a 27512 must be programmed 32K at a time. Using a grounding jumper to eprom pin#1 to switch between the lower and upper halves of the eprom was easy enough. Program the eprom; no go; erase eprom; continue idiotic attempt until brain damaged. "awhh". Calls to Jason-Ranhiem, the developer of the Promanade eprom programmer, disclosed similar problems. I later found, through trial and error, that the Promos program trashes bits after the first 16K. I informed Tim at Jason-Ranheim and we now program the eproms in 16K chunks. I couldn't get the source code from him. Next step was to cut traces on the Amiga circuit board and put in the jumpers! Jude sez: "Reassemble the machine. Power up the machine and voila." Amiga sez: no. I sez: "sigh.." Short of redesigning the machine, which wasn't my objective nor my talent, I kept attempting to try different ideas. I should have noticed that all the people that I've installed CMI's KickStart Eliminator were REV 6 motherboards and mine was REV A, but I didn't. After the first successful installation, I never touched the manual again. Apparently the differences were the cutting of the W4 jumper and another circuit trace. I cut the indicated trace and added a jumper. As Jude says: "Voila". As I said: "Ya Whooo!". I did a file search of 100 files, then my gut sank with a visitation of the GURU. (plunk..) Apparently the 256K of extra ram left vacant by the KickRoms was causing the demise of my out-of-specification 1.5 meg internal fastram expansion. When the 256K of daughterboard ram was used without the bad memory board, it worked like a champion. The best and fastest ram in Amigadom. I used my TimeRam program to test it. Well, the immediate choice was simple. Disable the motherboard ram and reinsert the bad but vast 1.5 meg internal memory board. Don't worry. You cannot buy this bad memory board. The project will continue, of course, to find a way to make my 1.5 megger less meager. In the mean time, I don't have the inconvenience of fumbling with the KickStart disk AND I can rely on my computer to boot itself from a brief power failure. For as many times that I power my computer in a day, I save 30 seconds at least per boot. "Ahhhhhhh.. (smiley stretch)". Getting the CMI KickStart Eliminator Kit would have been the thing to do but who said I was sane? I didn't; never had anyone accuse me of it anyway. Another project could be to put my name and other personal statistics on the "Insert WorkBench" screen. How about a DigiView Photo? Got any takers? It's just to underline "personal" in personal computers. If you feel queezie about doing the kickrom conversion yourself, I can do it for you for $35 labor. You must show me that you have an original disk of the KickStart 1.2. I can also program the 4 roms for a fee of $15. You shouldn't have to pay more than $12 per blank 27512 eprom at a retail outlet. Please use the 200ns types. ---------------------------------------------------------------------- Got My Kicks in ROM by Bruce Takahashi (Bruce's Repair 415-525-6973) This'll only work for REV 6 or REV A motherboards. You can find which one by removing the internal disk drive and looking under where the disk drive sat. 1) Power-up the Amiga with 1.2 and get into CLI. 2) Run the MemLook program type s ; type fc0000 ; type 1000000 ; type KickRom ; 3) Run the S-Rommer program by typing: S-Rommer KickRom 32 8 binary files will be produced. 4) On the C64, format 4 disks with the following disk names: FC EVEN; FC ODD; FE EVEN; FE ODD 5) Xmodem the 8 output files to the C64 keeping the filenames kickrom-1.even & kickrom-2.even to disk "FC EVEN" kickrom-1.odd & kickrom-2.odd to disk "FC ODD" kickrom-3.even & kickrom-4.even to disk "FE EVEN" kickrom-3.odd & kickrom-4.odd to disk "FE ODD" 6) On the C64 make a program file with just a load address open1,8,4,"load.addr,p,w" print#1,chr$(0)+chr$(16); close1 7) Concatenate the load address program to the 8 eprom files FOR DISK NAMED "FC EVEN" open15,8,15 print#15,"c0:fc even low=0:load.addr,0:kickrom-1.even" print#15,"c0:fc even hi=0:load.addr,0:kickrom-2.even" close15 FOR DISK NAMED "FC ODD" open15,8,15 print#15,"c0:fc odd low=0:load.addr,0:kickrom-1.odd" print#15,"c0:fc odd hi=0:load.addr,0:kickrom-2.odd" close15 FOR DISK NAMED "FE EVEN" open15,8,15 print#15,"c0:fe even low=0:load.addr,0:kickrom-3.even" print#15,"c0:fe even hi=0:load.addr,0:kickrom-4.even" close15 FOR DISK NAMED "FE ODD" open15,8,15 print#15,"c0:fe odd low=0:load.addr,0:kickrom-3.odd" print#15,"c0:fe odd hi=0:load.addr,0:kickrom-4.odd" close15 8) Load and run the C64 "Promos 1.1" from Jason-Ranhiem 9) Program all the eproms with the Promanade: insert disk named "FC EVEN" load "fc even low",8,1 insert eprom marked "FC EVEN" slide eprom side to side to make better connection attach grounding clip to pin #1 of eprom type [pi] 4096, 20479, 0, 226, 6 type [pi] 20480, 36863, 16384, 226, 6 remove grounding clip from pin #1 of eprom load "fc even hi",8,1 type [pi] 4096, 20479, 0, 226, 6 type [pi] 20480, 36863, 16384, 226, 6 10) Repeat previous step for disks "FC ODD", "FE EVEN", "FE ODD" 11) To verify the eprom's contents with the disk file: [english pound] 4096, 36863, 0, 226 sys64789 : disables Promos1.1 verify "rom data",8,1 : rem use correct filename sys688 : rem enables Promos1.1 rem a grounded pin #1 accesses the low 32K of Eprom 12) If you got this far okay, get a cup of hot apple cider 13) Take the Amiga apart to just the motherboard and daughterboard 14) As Jude sezs: Now we need to modify the ROM/RAM board, this is the board that piggybacks the ZORRO board. 1) Cuts: Cut U6J pin2 (solder side). Cut U6J pin8 (solder side). Cut U5M pin4 (solder side). Cut U5M pin5 (solder side). Cut U5M pin6 (solder side). 2) Adds: Add jumper between U6J pin8 and U6J pin10. Add jumper between U6J pin2 and U5M pin4. Add jumper between U6N pin6 and U5M pin5. Add jumper between J3 pin2 and U5M pin6. Add jumper between U5M pin9 and U5M pin7. 15) Now is the time to modify the motherboard depending on which you have; REV 6 or REV A as printed on the motherboard under the internal drive. FOR REV 6 MOTHERBOARDS ONLY Jumpers W2 and W4 need to be modified to change the PROM addressing: 1) Cut jumper from square to center circle pad on W2. 2) Cut jumper from outside circle to center circle pad on W4. 3) Add jumper from outside circle to center circle pad on W2. 4) Add jumper from square to center circle pad on W4. NOTES: 1) () represents a circle pad. 2) [] represents a square pad. 3) Existing jumpers are on the backside (solder side) of the PCB. 4) Jumpers are located near U5N (Even PROM socket). Jumpers on a standard A1000 REV 6 two layer PCB. W1 W3 []-() () [] ()-() () ()-[] ()-() [] W2 W4 Jumpers after modification W1 W3 []-() () [] ()-() ()-() [] () ()-[] W2 W4 FOR REV A MOTHERBOARDS ONLY 1) Cut jumper from square to center circle pad on W2. 2) Add jumper from outside circle to center circle pad on W2. 3) On the component side of the motherboard, cut a circuit trace from the center circle pad of W4 leading to a trace intersection. 4) Add a jumper wire from the solder dot connected to that trace intersection to the square pad of W4. NOTES: 1) () represents a circle pad. 2) [] represents a square pad. 3) Existing jumpers are on the backside (solder side) of the PCB. 4) Jumpers are located near U5N (Even PROM socket). * <- solder dot is here W1 W3 []-() () [] ()-() ()-() [] ()-() [] W2 W4 16) Reassemble your Amiga, power-up; okie-dokie? Your Amiga should come up requesting the WorkBench disk. After WorkBench boots, the additional FAST memory needs to be added to the free memeory list. This is done by using the ADDMEM command provided on the ToolKit disk. Amiga Prompt> ADDMEM 0xf80000 0xfbffff 17) If you want to disable the daughterboard ram because of intermittant crashes: disconnect the jumper wire from U6N pin #6 and reconnect the cut U5M pin #5 18) If you got this far okay, pat yourself on the back.