dchou@NCoast.ORG (David Chou) (09/19/89)
I have recently tried to update a hard disk in an IBM-AT with a Miniscribe 3085 and have found that the geometry for this disk is not in the BIOS tables (only 14 are in the tables). I prefer not to use a TSR such as Disk Manager. Fortunately (or unfortunately) I have a copy of the IBM AT Tech Reference Manual and have located the disk geometry tables. It is therefore possible for me to copy my BIOS ROMS into 27128 EPROMS and alter one of the existing disk types. Unfortunately, I suspect that the BIOS does a checksum on the BIOS ROMS, but cannot find where it is being done or where the checksum is being performed. Is there anyone out there who has any information on how this is being done? I have already found the code where the system performs checksums on auxiliary ROMS, but this does not seem applicable for the BIOS ROMS. Incidentally, the system is one of the original 6MHz ATs with 128K stacked DRAMS. Thanks in advance. David Chou ncoast!dchou@hal.cwru.edu
craigb@hp-sdd.hp.com (Craig Bosworth) (09/20/89)
In article <1989Sep19.021545.8110@NCoast.ORG> dchou@NCoast.ORG (David Chou) writes: >I suspect that the BIOS does a checksum on the BIOS ROMS, but cannot >find where it is being done or where the checksum is being performed. >... > I have already found the code where the system performs checksums >on auxiliary ROMS, but this does not seem applicable for the BIOS ROMS. I'm not sure what auxillary ROM checksums you are talking about, but here is what I found: In my AT Tech Ref (p/n 6139362, September 1985), the ROM checksum is on page 5-38. This is in module TEST1, assembled 6-10-85, line 1051, offset 0183H. In a coworker's AT Tech Ref (p/n 1502494, March 1984), the ROM checksum is called on page 5-36. This is in module TEST1, assembled 11-28-83, offset 021FH. The actual code for the checksum is on page 5-67, module TEST3, assembled 9-26-83, offset 0. In both, a byte-wise checksum is performed on 64kB starting at F000:0000. If the resulting sum (byte) is not zero, the checksum fails, and the system is halted. Maybe you can modify some other byte in your new EPROM to main- tain a zero checksum. I don't know how many other versions of AT ROM there are, but I suspect that the ROM checksum will happen fairly early in POST like it does in these two. Hope this helps... BOS -- Craig Bosworth (619) 592-8609 16399 West Bernardo Drive Hewlett-Packard, San Diego Division San Diego, CA 92127-1899 UUCP : {hplabs|nosc|hpfcla|ucsd}!hp-sdd!craigb Internet : craigb%hp-sdd@hp-sde.sde.hp.com (or @nosc.mil, @ucsd.edu)
harper@rigel.uucp (David Harper) (09/21/89)
In article <1989Sep19.021545.8110@NCoast.ORG> dchou@NCoast.ORG (David Chou) writes: >I have recently tried to update a hard disk in an IBM-AT with a >Miniscribe 3085 and have found that the geometry for this disk is not >in the BIOS tables (only 14 are in the tables). I prefer not to use >a TSR such as Disk Manager. Fortunately (or unfortunately) I have a >copy of the IBM AT Tech Reference Manual and have located the disk >geometry tables. It is therefore possible for me to copy my BIOS ROMS >into 27128 EPROMS and alter one of the existing disk types. Unfortunately, >I suspect that the BIOS does a checksum on the BIOS ROMS, but cannot >find where it is being done or where the checksum is being performed. >Is there anyone out there who has any information on how this is being >done? I have already found the code where the system performs checksums >on auxiliary ROMS, but this does not seem applicable for the BIOS ROMS. >Incidentally, the system is one of the original 6MHz ATs with 128K >stacked DRAMS. > >Thanks in advance. > >David Chou ncoast!dchou@hal.cwru.edu I have been faced with similar problems in the past. On one BIOS which came out of an American Research Corp PC/AT I was able to track down the routine which does the checksum and modify it so that it would never fail. I think this involved changing a 'jump equal' instruction to a 'jump always' instruction. Later, I wanted to perform the same trick on a Phoenix BIOS but never was able to locate the checksum routine. Also, I was unable to find the checksum itself; I had throught that I might simply be able to change that to the new value. Eventually, I sold the drive I was trying to integrate so the problem went away. About two days after that ( 8-( ) I thought of a way that should work, but I must stress that it has not been tried yet. Briefly, the steps to be performed are as follows: 1) Determine the checksum of each EPROM. This can generally be done by simply reading the chip in an EPROM programmer. Usually they return the checksum read in when the operation completes. 2) Find the table entry that you want to use and modify it for the correct parameters. I can't remember the table format off the top of my head (I'm at work and my copy of the AT Tech Ref manual is at home) but the book clearly shows what goes where. 3) Pick one or more table entries that you think you will never use and adjust their values so that the net result is the same checksum that you originally started with. This must be done with each EPROM individually. I don't know if all EPROM checksums work the same but the one that I defeated worked by adding up the individual byte values from each successive location into a 16 bit value, starting over at zero again on overflow. If this is the case with your EPROMs the above should work. As I say, I never had a chance to try this approach and I would be interested to hear if it works. Dave Harper - Convex Computer Corp. E-mail address: 3000 Waterview Pky. Richardson, TX 75081 harper@convex.COM (214) 497-4525 (W) (214) 727-4206 (H)
wek@point.UUCP (Bill Kuykendall) (09/21/89)
>in the BIOS tables (only 14 are in the tables). I prefer not to use >a TSR such as Disk Manager. Fortunately (or unfortunately) I have a Huh? DM isn't a TSR, but it doesn't cover miniscribes so it won't help anyway. >geometry tables. It is therefore possible for me to copy my BIOS ROMS >into 27128 EPROMS and alter one of the existing disk types. Unfortunately, >I suspect that the BIOS does a checksum on the BIOS ROMS, but cannot >find where it is being done or where the checksum is being performed. >Is there anyone out there who has any information on how this is being >done? I have already found the code where the system performs checksums Any prom burner worth it's salt will do the checksum for you. I wouldn't waste the time fooling with it though. You can buy a Phoenix bios with all the bells & whistles including in-rom setup for $14 from a dozen different mail order houses advertised in almost any PC publication.
keithe@tekgvs.LABS.TEK.COM (Keith Ericson) (09/21/89)
In article <1817@convex.UUCP> harper@rigel.UUCP (David Harper) writes:
[about finding/modifying BIOS ROM checksums:]
->...I thought of a way that should work, but I
->must stress that it has not been tried yet. Briefly, the steps to be
->performed are as follows:
-> 1) Determine the checksum of each EPROM. This can generally be
-> done by simply reading the chip in an EPROM programmer. Usually
-> they return the checksum read in when the operation completes.
-> 2) Find the table entry that you want to use and modify it for the
-> correct parameters. I can't remember the table format off the
-> top of my head (I'm at work and my copy of the AT Tech Ref manual
-> is at home) but the book clearly shows what goes where.
-> 3) Pick one or more table entries that you think you will never use and
-> adjust their values so that the net result is the same checksum that
-> you originally started with. This must be done with each EPROM
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-> individually.
^^^^^^^^^^^^
NO...
(This works with the Phoenix BIOS ROMs I've played with:)
The word at the end of the BIOS ROMs contains one "system ID" byte
and one "checksum" byte. After performing any modifications to the
BIOS ROM contents it is necessary _only_ to fix up that checksum
byte. As I recall, the AT (Clones) I was playing with haf $FE as
the ID byte.
I've modified a few BIOS ROM sets to accommodate new drives. (I've
also changed a power-on copyright to read "Keith Ericson's 286 AT"
just for the fun of it. ;-)
kEITHe
wcf@psuhcx.psu.edu (Bill Fenner) (09/21/89)
In article <[2058.1]comp.ibmpc;1@point.UUCP> wek@point.UUCP (Bill Kuykendall) writes: |>in the BIOS tables (only 14 are in the tables). I prefer not to use |>a TSR such as Disk Manager. Fortunately (or unfortunately) I have a | |Huh? DM isn't a TSR, but it doesn't cover miniscribes so it won't help |anyway. Sure it does. Just get the miniscribe version. Anyone know of any versions of DM other than Seagate, Miniscribe, and CDC (in which case it's called PC-WREN Manager, and there's a batch file on the disk called something like PCWREN.BAT, which says DM %1 %2 %3 really customized software there... :-) Bill -- Bitnet: wcf@psuhcx.bitnet Bill Fenner | aaaaaaaaa Internet: wcf@hcx.psu.edu | r UUCP: {gatech,rutgers}!psuvax1!psuhcx!wcf | g Fido: Sysop at 1:129/87 (814/238 9633) \hogbbs!wcf | h
mvolo@uncecs.edu (Michael R. Volow) (09/22/89)
[deleted stuff about matching old IBM AT with new or modified ROMs] Regarding the comment that Disk Manager isn't for Miniscribes, although I haven't needed to use it, the copy of Disk Manager that came with my Miniscribe 3053 is plainly marked "version 3.6, Manufactured for Miniscribe" M Volow, VA Medical Center, Durham, NC 27705 mvolo@ecsvax.UUCP 919 286 0411
bruce@tolerant.UUCP (Bruce Hochuli) (09/22/89)
In article <[2058.1]comp.ibmpc;1@point.UUCP> wek@point.UUCP (Bill Kuykendall) writes: >>in the BIOS tables (only 14 are in the tables). I prefer not to use >>a TSR such as Disk Manager. Fortunately (or unfortunately) I have a > >Huh? DM isn't a TSR, but it doesn't cover miniscribes so it won't help >anyway. I have a version of DM from Miniscribe that is (gasp) configured for Miniscribe drives. I also have a copy with the Seagate stuff on it. I thought that part of DM was a driver, don't remember the name of it right now(dmdrive.sys ?). Pretty close to a TSR.
jb@aablue.UUCP (John B Scalia) (09/22/89)
In article <1658@psuhcx.psu.edu> wcf@psuhcx.psu.edu (Bill Fenner) writes: >In article <[2058.1]comp.ibmpc;1@point.UUCP> wek@point.UUCP (Bill Kuykendall) writes: >|>in the BIOS tables (only 14 are in the tables). I prefer not to use >|>a TSR such as Disk Manager. Fortunately (or unfortunately) I have a >| >|Huh? DM isn't a TSR, but it doesn't cover miniscribes so it won't help >|anyway. >Sure it does. Just get the miniscribe version. Anyone know of any versions > [deletions...] As someone who's had to go through this with a very unhelpful OnTrack techie, just make sure you've got DM Version 3.6 or higher. One of my glorious distributors sent me a 3085 (which I should mention is what the original poster is using) enclosed with DM Version 3.3. It appeared to format the drive perfectly, but after logical format and software loading, it wouldn't do anything on reboot. We even tried it 3 times before we called. Anyway, OnTrack just claimed the drive was probably defective, until I prodded them about "What's your current version numbers up to?" PS. I don't normally even bother with 3rd party stuff like DM. Sneer as I might at some of Everex's botched attempts, their Disk Utility package is pretty robust. It permits using the CMOS numbers or defining on-the-fly. Of course, we only discovered this AFTER our first 3085 :-) :-) jb@aablue -- A A Blueprint Co., Inc. - Akron, Ohio +1 216 794-8803 voice UUCP: {uunet!}aablue!jb Sometimes they do let me speak for the company, not today though.
karl@ddsw1.MCS.COM (Karl Denninger) (09/22/89)
>----- >Response 4 of 4 (5625) by wcf at psuhcx.psu.edu on Fri 22 Sep 89 04:34 >[Bill Fenner] > >In article <[2058.1]comp.ibmpc;1@point.UUCP> wek@point.UUCP (Bill Kuykendall) >writes: >|Huh? DM isn't a TSR, but it doesn't cover miniscribes so it won't help >|anyway. >Sure it does. Just get the miniscribe version. Anyone know of any versions >of DM other than Seagate, Miniscribe, and CDC (in which case it's called >PC-WREN Manager, and there's a batch file on the disk called something >like PCWREN.BAT, which says >DM %1 %2 %3 Sure. Get the GENERIC version of DM, which will do anything. You have to pay for it however. I think it runs about the same cost as Speedstor, or roughly $100. We purchased the generic Speedstor utility instead. In addition to having some 150-200 different drive types in there (and a "roll your own" setting) it also has a set of excellent diagnostics and -- most importantly -- a NON- DESTRUCTIVE reformatter. The last feature alone was worth the money. Makes it real easy to refresh formats and change interleave. -- Karl Denninger (karl@ddsw1.MCS.COM, <well-connected>!ddsw1!karl) Public Access Data Line: [+1 312 566-8911], Voice: [+1 312 566-8910] Macro Computer Solutions, Inc. "Quality Solutions at a Fair Price"
mlord@bmers58.UUCP (Mark Lord) (09/22/89)
In article <[2058.1]comp.ibmpc;1@point.UUCP> wek@point.UUCP (Bill Kuykendall) writes: >>in the BIOS tables (only 14 are in the tables). I prefer not to use >>a TSR such as Disk Manager. Fortunately (or unfortunately) I have a > >Huh? DM isn't a TSR, but it doesn't cover miniscribes so it won't help >anyway. Hmm.. DM actually does include a TSR.. DMDRVR.BIN is used to access multiple "DOS" partitions under any recent version of xx-DOS. Also, DM is distributed in different versions for different brands of drives, including Miniscribe. My Miniscribe 3650 came with a version, and my Seagate 251-1 also came with a Seagate-specific version. Works great! -Mark
keithe@tekgvs.LABS.TEK.COM (Keith Ericson) (09/22/89)
In article <1989Sep21.214045.22139@uncecs.edu> mvolo@uncecs.edu (Michael R. Volow) writes: >Regarding the comment that Disk Manager isn't for Miniscribes, although >I haven't needed to use it, the copy of Disk Manager that came with >my Miniscribe 3053 is plainly marked "version 3.6, Manufactured for >Miniscribe" And the only reason it's for Miniscribes is because that's the extent of the preconfigured setups it contains. But you can use it, by editing the configurations, with any ol' drive (well, within reason, I 'spose) you want to. Simply modify the table - it's one of the configuration options. kEITHe P.S. Michael - my condolences about the 3053 :-)
wcf@psuhcx.psu.edu (Bill Fenner) (09/24/89)
In article <263@bmers58.UUCP> mlord@bmers58.UUCP (Mark Lord) writes: |In article <[2058.1]comp.ibmpc;1@point.UUCP> wek@point.UUCP (Bill Kuykendall) writes: |>>in the BIOS tables (only 14 are in the tables). I prefer not to use |>>a TSR such as Disk Manager. Fortunately (or unfortunately) I have a |> |>Huh? DM isn't a TSR, but it doesn't cover miniscribes so it won't help |>anyway. | |Hmm.. DM actually does include a TSR.. DMDRVR.BIN is used to access multiple |"DOS" partitions under any recent version of xx-DOS. One of us is confused... I was under the impression that there's a big difference between drivers and TSR's. How does loading drivers in config.sys work? Does it jump to part of the code, then the code TSR's, or returns, or what? Bill -- Bitnet: wcf@psuhcx.bitnet Bill Fenner | aaaaaaaaa Internet: wcf@hcx.psu.edu | r UUCP: {gatech,rutgers}!psuvax1!psuhcx!wcf | g Fido: Sysop at 1:129/87 (814/238 9633) \hogbbs!wcf | h
dchou@NCoast.ORG (David Chou) (09/24/89)
I would like to thank more than a dozen respondees regarding the updating of the original IBM-AT BIOS ROMS. Most of the respondees pointed that the last location of the romset contained the byte which serves as the checksum value (location FFFFF). The next to the last byte contains the PC ID byte (FC for the AT). It is a rather simple matter to reprogram locations in the various ROMs and then adjust the last byte. Several pointed out the the ROMs are paired odd/even bytes. Several also mentioned that there are BIOS sold by third parties which work in the AT. However, I specifically called Phoenix who cautioned me against buying a BIOS not tailored for my machine. Well anyway, I took the easy way out. I located several IBM-ATs and using the program posted to the net, found a machine with the appro- priate disk type which I needed (1024 cylinders, 7 heads, 26 sectors - I know this is not quite right for the 3085 which has 1170, but it is close). The first machine had ROMs which for one reason or another I could not copy. The second machine had EPROMs (27256's) which copied nicely. Incidentally, these old motherboards have a jumper dip at location U131 which when reversed supports either 27128 or 27256 EPROMS. I am still having trouble with my Miniscribe 3085 but that is another story not related to this subject. David Chou ncoast!dchou@hal.cwru.edu dchou@ncoast.org
mwilcox@pcocd2.intel.com (Mike Wilcox ~) (09/27/89)
In article <5912@tolerant.UUCP> bruce@handel.Tolerant.COM.UUCP (Bruce Hochuli) writes: > >I have a version of DM from Miniscribe that is (gasp) configured for >Miniscribe drives. I also have a copy with the Seagate stuff on it. > >I thought that part of DM was a driver, don't remember the name of it >right now(dmdrive.sys ?). Pretty close to a TSR. The version of DM I have has what is called a manual or standard mode or something like that. I believe in this mode you can enter the cyl/head information rather than use the configurations that are built in. Does this mean that any version of DM would work with any drive? The Seagate version would be less convenient with a Maxtor disk but will it still work. Reason I ask is that i might be getting a Maxtor 140 meg disk and I already have a st251 with Seagate version of DM. Will itthe Seagate version of DM work with a Maxtor disk? Can use DM to partition two physical disks (st251 and the Maxtor)? thanks for your help., Mike Wilcox mwilcox@pcocd2.intel.com Intel Corp. Folsom CA