List Info

Thread: Re: ROM BIOS




Re: ROM BIOS
country flaguser name
United States
2008-03-27 18:02:47
Jim Leonard wrote:
> Chuck Guzis wrote:
>> Actually, a lot of people spent a lot of time
reverse-engineering the 
>> IBM BIOS.  You really don't get a sense of this
until you realize 
>> that Phoenix not only made sure that the
functionality of the BIOS 
>> routines was the same, but that the routines
themselves were located 
>> at the same place in memory.
>
> Having them in the same place in memory seems like a
big waste of 
> time.  I can't think of a single instance in which
knowing where the 
> routines are located in memory can help me write a
faster or smaller 
> program.
>
> If the routines do the same thing, and are at the same
place in ROM, 
> how different enough (to avoid copyright) from the
originals could 
> they be?  It's been a while since I looked at the tech
ref listings 
> but they didn't seem all that horribly written (I know
others will 
> disagree, I myself found a bug in the cursor handling
in my 5160 ROM, 
> but that's not the point -- the point is that they
weren't SO terrible 
> that they could be significantly improved or made
smaller)...
I worked with a number of people who worked for Phoenix and
have also 
worked with people who who have had to make the BIOS work. 
it also is 
not so much that the routines have to be the same place, but
the data 
tables do as well for things to work.  Many drivers will go
thru the 
bios table and find the routine then tables for various
functions.  They 
would fail if the signature was different or the tables
didn't match.  
Many times the code that does this was in other rom drivers
as well.

It became simpler to just put all as near the same spot as
possible and 
do away with such problems that way.

Also as far as the Mac roms are concerned Apple never
published them in 
any form, and may in fact have them under a  copyrighted 
"unpubliished" 
form which cannot be legally reverse engineered as was the
IBM  BIOS.  
IBM did not come after the copiers until a stable clone of
the BIOS 
appeared and the market demanded that IBM keep compatability
with the model.

Only marginal changes such as the AT updates took hold with
few of the 
updates to the model which was in the originally closed PS2
design ever 
got traction.

If Apple had ever let a reverse engineered version of their
hardware out 
of their control take hold, they would have had the same
situation as 
IBM w/o the resources to survive the competition.

-- 
**********************************
*
* note my email address is changing to jwsjwsss.com
*
**********************************


Reverse-engineering Mac ROMs (was Re: ROM BIOS)
country flaguser name
United States
2008-03-28 13:50:51
jim s wrote:
> Also as far as the Mac roms are concerned Apple never
published them in
> any form, and may in fact have them under a 
copyrighted  "unpubliished"
> form which cannot be legally reverse engineered as was
the IBM  BIOS.

Actually, having purchased a Macintosh 128 that contained
those ROMs,
there was no legal impediment whatsoever (at least in the
US) to
reverse-engineering them.

In recent times, Sega tried to convince a court that any
transient copy
of a ROM produced in the course of reverse-engineering is an
infringement
of copyright, but the court rejected that concept.

If someone had really wanted to clone the Mac ROM as part of
a
commercial venture, they would have needed to use two teams,
one to
reverse-engineer and write specs, and a the other to write
new code from
the specs.  The fact that Apple published specifications
(_Inside
Macintosh_) that covered much of the functionality would
have helped
a lot.

A clone produced in this way would have had problems with
each successive
release of Apple system software, because they implemented
ROM patching
in ways that were very dependent on the locations of
specific call
instructions in the ROMs.  In other words, if ROM routine
foo is
broken, and it calls routine bar via a vector in RAM, foo is
patched
by intercepting the vector to bar, and having the patch
check whether
the return address is a precise address within foo.

Eric


[1-2]

about | contact  Other archives ( Real Estate discussion Medical topics )