[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: 3D version of ETesla



Original poster: Ed Phillips <evp@xxxxxxxxxxx>

"Actually, the array size limits in QB have more to do with the number
of
indices, and, in earlier versions, the data for any one array must be
<64Kbytes, because of the use of segment registers to do the array
addressing. The Basic runtime system (which I had to learn entirely too
much about) had functions to which you would pass an array descriptor
and
indices, and it would return a byte offset (16 bit number) to the array
element. The array descriptor had the pointer to the start of the array
(i.e. the segment register) (which must start on a 16 byte boundary, of
course).  Remember that protected mode addressing didn't really arrive
until Win 3.x, and wasn't particularly well implemented, even then.  QB
was
a DOS program and generated executables that ran under DOS (however, it
even had overlays, etc., so you could manage your own memory, especially
as
it moved to QB PDS v7.1)

And, Bill had nothing to do with that.. it was Intel saying, nobody
using
16bit microprocessors will ever need dataspace exceeding 64Kbytes, and
we'll give you 3 chunks of it (Data, Program, Stack, plus an extra
segment
register to make block moves easier), and that way all your legacy 8080
code will assemble with minimal changes.  Of such things were the
initial
Intel 8086 vs Motorola 68K wars spawned."

	Thanks Jim.  Guess the last line explains why the Mac works better.
Getting far from TC's although most of the programs I've written were
tools for the design of same.

Ed