[comp.sys.atari.st] Is this right?

01659@AECLCR.BITNET (Greg Csullog) (04/24/89)

Someone please correct me if I am wrong, but my understanding of the 8088,
80286 and 80386 family is that the junior member (the 8088) requires memory
segmentation to work (i.e. 10 banks of 64K). Even if you have an 80286 or
an 80386, most codes out there are compiled to run on the 8088 and still
use the memory segmentation protocols. Therefore, even if you have an 80286
or an 80386, with these segmented codes, you cannot use the true power of the
processors - all you can take advantage of is the faster clock times. Is
this right? I also understand that Windows 286 and 386 DO take advantage of
the newer processors. Is this right? Seems to me, if you use segmented codes
on a 80286 machine, you're bound to have a lower performance standard than
a Mac or an ST with a 68000 and their codes which are not segmented. Is this
right?

The latest issue of Current Notes has an article by G. Louie of Sphere Inc.
berating the ST market for piracy. He says that the same title of a code in]
the PC market sells 40 - 100,000 copies a year but the ST only 15,000. Is he
looking only at the US market where there are millions of PCs as opposed to
a couple of hundred thousand STs? What are sales as a % of the market he is
selling in.

When I try to convince people to buy an ST, the most common reply I get back
is that the person wants a PC so he 'can get all his software from work'. Sure
lots of PC software is sold, but honestly, how many people do you know that
bought LOTUS, dBASE, Word Perfect for their home PC - I'll bet you >95% lifted
a copy from work! Same in the Mac world. No one I know actually bought Excel
or MS Word for their home Macs. Be fair, more piracy probably goes on in the
PC and Mac worlds. The difference is, the other guys have PCs or Macs at work
and buy software through their companies and take copies home. If you put
business purchased software sales aside, I'll also bet you that the ST has
a good track record for honest sales.

I own Publisher ST, Word Writer, LDW Power (total cost $CDN 418). The reason
I have these is because they are affordable. I bought my ST because I was
committed to being legitimate with my software and I could not afford PC or Mac
software. For the record, I also bought OSS Pascal, Fast Basic (years ago),
Pascal TackleBox, ChessMaster, LS Larry, G+Plus, Multidesk, NeoDesk. Some of
us in the ST world like our machines and we buy the software to support it!

cmcmanis%pepper@Sun.COM (Chuck McManis) (04/26/89)

In article <8904241544.AA21773@ucbvax.Berkeley.EDU> (Greg Csullog) writes:
>Someone please correct me if I am wrong, but my understanding of the 8088,
>80286 and 80386 family is that the junior member (the 8088) requires memory
>segmentation to work (i.e. 10 banks of 64K).

Not exactly. the x86 architecture uses a combination of segment registers
and 16 bit offsets to allow programs access to about 256K of ram (anywhere as 
long it is on a 16 byte [aka a paragraph] boundary). The segment registers
can be reloaded to change the 64K area that is available. The segment register
contains a 16 bit value that is shifted left by four bits and then added to
the "offset" value (immediate, in a register, whatever) so if your segment
register contained $C018 you could use it to access $C0180 - $D017F. 
There are four segment registers in the base architecture CS (code), 
SS (stack), DS (data), ES (extra often used for globals). Is that more clear?

> Even if you have an 80286 or
>an 80386, most codes out there are compiled to run on the 8088 and still
>use the memory segmentation protocols.

True, but the same "segmentation protocols" are available on all members of
the family. The 286 and 386 offer additional models that extend the address
space to 16M and 4G respectively.

> Therefore, even if you have an 80286 or an 80386, with these segmented 
> codes, you cannot use the true power of the processors - all you can take 
> advantage of is the faster clock times. Is this right?

For the most part. Most PC's out there are running like fast 8086 processors.
Some programs like DesqView use the other modes to simulate several fast 
8086 processors.

> I also understand that Windows 286 and 386 DO take advantage of the newer
> processors. Is this right?

Yes, Windows does use the 16 bit and 32 bit modes of the processors. This
results in a greater speed up than simply emulating a fast 8086.

> Seems to me, if you use segmented codes on a 80286 machine, you're 
> bound to have a lower performance standard than a Mac or an ST with 
> a 68000 and their codes which are not segmented. Is this right?

Yes and no, it is possible to write programs for both architectures that
outperform one or the other. The x86 machines do well with string 
instructions (and hence the dhrystone benchmark) and the 68xxx processors
do better when working with large data arrays. At Sun we have a machine
based on the 386 called the 386i and several machines based on the 68xxx
architecture. Generally, they are about the same speed for the same clock
rate. In the PC marketplace, a 68000 will always be faster than an 8088
and about the same speed as a compably equipped '286. When you start
using MMU's the x86 architecture saves a clock cycle with it's builtin
MMU so you have to compare them to the 68030 rather than the '020. If
I were writing a code generator for a compiler I'd rather have a 68xxx
or SPARC architecture to write to, but from the users perspective they
shouldn't notice a difference.

--Chuck McManis
uucp: {anywhere}!sun!cmcmanis   BIX: cmcmanis  ARPAnet: cmcmanis@sun.com
These opinions are my own and no one elses, but you knew that didn't you.
"A most excellent barbarian ... Genghis Kahn!"

daveh@cbmvax.UUCP (Dave Haynie) (04/26/89)

in article <8904241544.AA21773@ucbvax.Berkeley.EDU>, 01659@AECLCR.BITNET (Greg Csullog) says:

> Someone please correct me if I am wrong, but my understanding of the 8088,
> 80286 and 80386 family is that the junior member (the 8088) requires memory
> segmentation to work (i.e. 10 banks of 64K). 

8088 segmentation is a little more sophisticated/complicated than simple
banking.  It manages 4 separate 64K chunks, along the Pascal programming
model.  Any code or data longer than 64K hits serious performance barriers.

The '286 and '386, when running MS-DOS, kick into a mode that completely 
emulates the 8088/8086 at the hardware level.  None of the new mode features
or instuctions are available.

> Even if you have an 80286 or an 80386, most codes out there are compiled to 
> run on the 8088 and still use the memory segmentation protocols. Therefore, 
> even if you have an 80286 or an 80386, with these segmented codes, you 
> cannot use the true power of the processors - all you can take advantage of 
> is the faster clock times.

Actually, the '286 native suffers from the same problems.  It's segmentation
scheme can address 16megs of RAM vs. the 1 meg of an 8088/8086, but it's
still limited by 64k segments.  

> Seems to me, if you use segmented codes on a 80286 machine, you're bound to 
> have a lower performance standard than a Mac or an ST with a 68000 and their
> codes which are not segmented. Is this right?

Very often right.  Depends on what you're doing.  The segment limitations of
a '286 in native or protected mode don't really get in the way until you 
start running larger programs.  So small programs can run the same, or
faster, than on 68000 machines (though a smart 68000 compiler can use base
register addressing to achieve the same economy for small programs).  The
success of the '286 is largely the momentum of the PC industry, not anything
especially good about the processor itself ("brain damaged" was how Steve
Ballmer of Microsoft once described the '286).

The '386 adds full 32 bit addressing and a paging MMU to it's native mode.
It's not quite an '030, but it's certainly a step in the right direction.

> The latest issue of Current Notes has an article by G. Louie of Sphere Inc.
> berating the ST market for piracy. 

While piracy in any market is a bad thing for that market, you really have
to think of it differently for the ST or Amiga markets vs. the PC or even
the C64 market.  I have no doubts that business folks buy PCs and swipe
programs from work for home, and that kids buy C64s to copy the software
their friends have.  Thing is, there are some 7-9 million C64s and around
12-15 million PCs out there.  That kind of piracy, even if on the same
percentage basis as in the ST market, can't kill either machine.  But it
can kill the ST market if developers get frightened away.  

You hear people yell and scream about how loyal they are to a machine like
the ST, for instance.  Next thing you know, they're telling you about this
great stash of pirate software they've got on their BBS.  They'll undoubtedly
come up with some rationalization for it, but regardless, they're doing harm.
And in a small market, that harm can be enough to kill.  I know, my job
ultimately depends on the success of the Amiga, and that winds up depending
on folks to buy software for the machine, plain and simple.


-- 
Dave Haynie  "The 32 Bit Guy"     Commodore-Amiga  "The Crew That Never Rests"
   {uunet|pyramid|rutgers}!cbmvax!daveh      PLINK: D-DAVE H     BIX: hazy
              Amiga -- It's not just a job, it's an obsession

walkerb@tramp.Colorado.EDU (Brian Walker) (04/27/89)

In article <8904241544.AA21773@ucbvax.Berkeley.EDU> 01659@AECLCR.BITNET (Greg Csullog) writes:
>The latest issue of Current Notes has an article by G. Louie of Sphere Inc.
>berating the ST market for piracy. He says that the same title of a code in]
>the PC market sells 40 - 100,000 copies a year but the ST only 15,000. Is he
>looking only at the US market where there are millions of PCs as opposed to
>a couple of hundred thousand STs? What are sales as a % of the market he is
>selling in.
>
Obviously not.  Talking in terms of number of copies sold (just about) never
takes into account the number of machines available.  When we start to
compare IBM and ST markets, we must consider 1) number of machines sold and
2) The people who use the computers.  As for number of machines sold, we can
consider that one type of computer is marketed by Big Blue.  Plus, IBM is 
not alone since lots of companies sell clones (the list is extensive).  Now,
if there are 4 times as many MS DOS machines as there are STs (a conservative
figure), 15,000 vs. 40,000 is not bad at all.  But if there are 10 times as
many MS DOS machines as STs (Somebody mentioned 12 million for the MS DOS
misfit market) 15,000 vs. 100,000 is an amazing statistic.  For the home
market, the MS DOS misfits probably range between 4 and 10 times the ST market.

Now, how about the people who use these computers?  Well, I figure that many
are sold to companies.  Many of those are used by people that deal with THE
MACHINE because their boss said "Here, use this computer."  Many of those
probably also went into a mild panic at that momment.:-)  Now, of the the 
people who use computers at work, many use the same computer at home because 
that is what they are accustomed to.  And in a not so far-fetched manner, we
could conclude that those people have the money to buy the computer in the 
first place and continue to have the money to buy software.

But, in the ST market, I see a slightly different view.  Atari isn't common
in the work place so the motivations were different.  Primary motivators
would include MIDI and the fact that an ST does more than an MS DOS misfit
but costs less.  Gee, could it be that many people who own STs don't really
have the money to buy software or at least tend to be picky on their
selection of software because of monetary constraints?  I know I am.  I
haven't purchased software in a while.  But, I also haven't pirated any
software either.  (Got any suggestions about dealing with a pirate BBS?)

Plus, consider this important fact.  In a smaller market, people are more
sensitized to piracy.  After all, each owner of an ST constitutes a much
larger percentage of the ST market than one IBM owner in the mega MS DOS
misfit market.  Frankly, I think that piracy probably occurs in a much larger
percentage of the MS DOS market.  It's just that the companies really don't
care about piracy if they still get their profit from those who buy a copy.
It's all relative and we don't need no ignorants [name withheld to protect
the guilty] telling us that people who own STs pirate more than IBMers.

Now consider this.  Since the ST market is sensitized to the issue of
pirating than the MS DOS market and because ST software is more resonably
priced, there is likely to be LESS pirating.  Why? Most piracy is a crime 
of ignorance.  People often pirate because they don't associate bits of data 
with the concept of property.  The disk is property, the data is not.  Also, 
many find the concept of lost sales to be difficult to grasp.  Some simply 
do not care if the publisher gets his money, especially when the publisher 
wants $500 for a program.  I think the ST community has been given a motive 
against pirating that's easier to understand: "If you guys pirate this 
software, we won't make any more for you."  See, now that's understandable.
People can realate to the possibility of no more new toys to play with.
Now try that with people who own MS DOS misfits.  Got the idea?

But maybe there's a better, less logical reason.  Maybe, just maybe, some of
these people who are complaining about piracy in the ST market do so because
their products just are selling well.  It's easier to blame piracy than admit
failure.

[Other valid comments deleted for space considerations]

Brian Walker                     One of these programs is not like the others,
walkerb@tramp.colorado.edu       One of these programs will really teach yer,
..!ncar!boulder!tramp!walkerb   One of these programs is not like the others,
University of Colorado, Boulder  Yes, that's not a bug, that's a feature.

mboen@nixpbe.UUCP (Martin Boening) (04/27/89)

01659@AECLCR.BITNET (Greg Csullog) writes:

>Someone please correct me if I am wrong, but my understanding of the 8088,
>80286 and 80386 family is that the junior member (the 8088) requires memory
>segmentation to work (i.e. 10 banks of 64K). Even if you have an 80286 or
>an 80386, most codes out there are compiled to run on the 8088 and still
>use the memory segmentation protocols. Therefore, even if you have an 80286
>or an 80386, with these segmented codes, you cannot use the true power of the
>processors - all you can take advantage of is the faster clock times. Is
>this right? I also understand that Windows 286 and 386 DO take advantage of
>the newer processors. Is this right? Seems to me, if you use segmented codes
>on a 80286 machine, you're bound to have a lower performance standard than
>a Mac or an ST with a 68000 and their codes which are not segmented. Is this
>right?

I think I can answer that one, but maybe I'm wrong. As far as I know you
don't need segmented memory, you get it by default. The 8088 addresses
memory with a 20-Bit address bus (so 1 Meg is the upper limit on that one).
The segmentation comes about because internally the processor uses 16-bit
addresses that are overlayed with the contents of segment registers to get
20-bit addresses. There are the segment registers CS (for the code segment,
used to build 20-bit addresses in combination with the PC), DS (data segment
register), SS (stack segment register) and ES (extra segment register).
Theoretically you can therefore in a program use 64 KB of code (the socalled
text area in C), 64K of stack and 64K of data by simply loading the segment
registers concerned. C compilers support several memory models accordingly,
one of which (the HUGE model) is supposed to shield the programmer from
the segmentation and making the whole 1MB available (not quite, since the
special PC arcitecture has memory mapped I/O with I/O addresses above the
640KB boundary). On the assembler level you can always reload the segment
registers and have a different data or stack or extra segment.Special
addressing modes allow you to specify which segment register in combination
with which 16 Bit internal register (or absolute value or whatever) is
used to create the absolute 20-Bit memory address. The CS can only be
reloaded by ominous 'far call', not by any direct statement, though.

Summary: you don't NEED segmented memory. The processor segments it.

I think the more powerful processors like 80286 and 80386 support two
modes, one of which (protected mode, maybe?) supports this segmentation.
In order not to lose all that nifty software written at the time of the
8088/8086 and because MANY PC@s are still delivered with those old
processors most software is still designed to run on them. Maybe
everything gets better with OS/2.

I hope this wasn't too confusing. I hope I got most of it right. I'm NOT
a PC owner (I own an Atari Mega ST2 with grand 2MB RAM, which can be
addressed linearly).

Martin

Email:
(North and South America) -> ...!uunet!philabs!linus!nixbur!mboening.pad
(Europe) -> ...!unido!nixpbe!mboening.pad
-- 
Email: in the   USA ->  ...!uunet!philabs!linus!nixbur!mboening.pad
       outside  USA ->  {...!mcvax}!unido!nixpbe!mboening.pad