[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: The IBM PC's slavish devotion to the Apple II
Great Hierophant wrote:
<massive snippage with which I massively agree ;-)>
>I did make one serious error with my facts (to me, anyways). I stated
>that the Intel 8088 is an 8/16bit processor. This is not entirely
>correct. The Intel 8088 has a 20bit addressing space, created by
>viewing memory in 64KB segements. (Apple II programmers could laugh
>for awhile at PC programmers who had to deal with segemented memory
>addressing while they enjoyed linear memory addressing. Even the
>memory bankswitching of Double Hi-Res is more preferable to program.)
I have a small quibble with this.
Since the size of a single segment on an 8088 is equal in size to
the entire address space of the 6502, how can Apple II programmers
look down their noses at 8088 programmers? Although it is certainly
true that segmentation introduces numerous programming complexities
(such as memory models) when it is used, there are no additional
difficulties when it is _not_ used!
So all an 8088 programmer needs to do to enjoy the same simplicity
as the 6502 programmer is to decline to use the segmentation that
is provided.
And segmentation is decidedly more efficient to use than bank
switching when the references to different segments/banks are
closely interleaved (as they are in the case of double hi-res).
Segmentation permits directly addressing different segments by
referencing a different segment register, essentially allowing the
programmer to set up his/her own multi-bank memory map, while
explit bank switching forces the banking choices made by the
hardware designer on the programmer.
Admittedly, linear addressing is preferable to either, but Apple
programmers had to wait for the 68000 for that (and Apple II
programmers, for the 65816).
-michael
Check out amazing quality 8-bit Apple sound on my
Home page: http://members.aol.com/MJMahon/