Newsgroups: comp.sys.apple2.programmer Path: news.weeg.uiowa.edu!news.uiowa.edu!hobbes.physics.uiowa.edu!moe.ksu.ksu.edu!ux1.cso.uiuc.edu!sdd.hp.com!network.ucsd.edu!news.cerf.net!crash!pro-scat!vernonb From: vernonb@pro-scat.cts.com (Vernon Bartlett) Subject: Eprom backup Organization: ProLine [pro-scat] St. Petersburg, Florida. Date: Sat, 12 Jun 93 18:27:47 EST Message-ID: Lines: 104 Ever had one of those days? I was in the midst of replacing a defective not to mention incorrect SCSI driver card for a Sider D4T, when I failed to observe that the power to the Apple //e was still on. Kapow, Zap... It really makes me angry to think about... If they'd sent the proper card to start off with I wouldn't have had to be playing around with the SCSI drive in the first place. The card they sent kept losing index block markers and before I finally gave up on it, the hard drive lost 21 blocks in a span of less than 4 hours! It was only one month old! Interestingly, after the new card was installed it "suddenly" found the missing 21 blocks, thus dismmissing me from having to reformat the drive. I still had to reload the corrupted files, however. When the old SCSI card was removed from slot 7 with the power on I lost the following cards: 1) Clockworks clock - a thunderclock compatible clock 2) Mouse driver card 3) Super Serial Card 4) The old SCSI card that was already failing. I was able to 'fix' the Mouse Card and Super Serial card by replacing the 74HC245 octal tristate buffer chips with some old 74LS245 versions (A non-Cmos version of the chip) from some discard Vic-20 mother boards. This chips cost about $0.49 cents. I'm glad these chips were on the card. Interestingly the Accelerator Card, Printer, and Floppy drive cards were not affected by this incident - they didn't have CMos versions of the chips. The clock card was another story. They had wired the eprom directly to the address bus with no buffer chips. It was gone. As you know a lot of suppliers for Apple equipment have been leaving the market. I called the company in Atlanta from information and was told no number existed. I was beginning to worry....finally I found the Manual and called the number... the company had changed its name and one of the original engineers was still there. I called the next day and was able to get a replacement eprom for $15.00. Federal express of course was outrageous for delivery. When the chip arrived, I put it in and once again proline was running. What is the point of the story? As the Apple ][ market declines, our systems will become more scarce and service will probably become more expensive. Users and hackers will need to fend more for themselves. I got caught with my pants down this time. I have the equipment to burn eproms, but never stored the eprom codes for my peripheral devices onto a disk in case I ever lost one of the proms. This cost me time and $$$ money. Instead of costing me $5.00 for parts to repair my own equipment I had to pay a total cost of around $60.00 just to get my own materials. I'm sure service from Apple though would have been even more expensive. Everyone makes adequate backup of their software.... the same rule should apply to your firmware instructions also. What happens if you can't get the prom/eprom to make that intelligent peripheral device work again? Major pain, lost time, and $$$. Save yourself a hassle and 'buy yourself some insurance' - back up your Proms. I've enclose a program to do that for a 2e... sorry but I know absolutely nothing about GSs. All you need to do is cut the file below the line, exec filename, and save it. ------------------------CUT HERE ----------------------------------------- 5 REM *********************************************************** 6 REM ** ** 7 REM ** PROGRAM TO COPY EPROM CODES FROM PERPHERIAL DEVICES ** 8 REM ** TO DISK IN CASE EPROMS BECOME DAMAGED OR NEED ** 9 REM ** RECODING. ** 10 REM ** FOR APPLE //e only ** 11 REM ** ** 12 REM ** BY VERNON BARTLETT (PRO-IRONSUN) REV 0.0 6/12/93 ** 13 REM *********************************************************** 14 REM 15 HOME :D$ = CHR$ (4) 20 REM DETERMINE TYPE OF COMPUTER (APPLE //e) 21 A = PEEK (64448): IF (A < > 234) AND (A < > 224) THEN PRINT "Wrong computer type - you may have to modify this code for your computer type - this program intended for ][e/": END 22 IF A = 234 THEN PRINT CHR$ (4);"pr#0": PRINT " Unenhanced ][e detected........." 23 IF A = 224 THEN PRINT CHR$ (4);"pr#3": PRINT " Enhanced ][e detected..........." 25 PRINT : PRINT " This program will attempt to read the eproms in the $C100 to $C7FF I/0 system space. It will also copy the instructions from the shared 4k expansion rom space from $C800 to $CFFF." 26 PRINT : PRINT "If the slot is active, the 256 byte i/o code and its expansion rom will be read to $2000. The code will be saved to disk as slotx.ecode. Not all parts of the expansion ram may be used. Its up to the user to decide what part of" 27 PRINT "the code is valid.": PRINT : PRINT 49 ONERR GOTO 200 50 I = 0 51 I = I + 1: PRINT D$"in#" STR$ (I):SLOT = 49152 + 256 * I:HSLOT = 192 + I:A = PEEK (SLOT): REM enable slot 55 POKE 2040,HSLOT:A = PEEK (53247): REM poke page to i/0 strobe address and activate to get access to expansion rom 60 FOR Z = 8192 TO 12287: POKE Z,0: NEXT : REM clear HRES page 1 for storage 61 PRINT "Storage area cleared" 70 FOR Z = 0 TO 255:A = PEEK (SLOT + Z): POKE (8192 + Z),A: NEXT 75 PRINT "recovered 256 bytes instruction for slot ";I 80 FOR Z = 2048 TO 4095:A = PEEK (SLOT + Z): POKE (8192 + Z),A: NEXT :A = PEEK (53247) 85 PRINT D$"pr#3": PRINT "Saving instruction set..." 90 NA$ = "SLOT0" + STR$ (I) + ".eprom,A$2000,L$FFF": PRINT D$"bsave"NA$ 91 PRINT "File ";NA$;" saved" 100 IF I > = 7 THEN PRINT " program complete": END 110 GOTO 51 200 ER = PEEK (222): IF ER = 3 THEN PRINT : PRINT "No device present in slot ";I: PRINT : IF I < 7 THEN 51