Deutsch   English   Français   Italiano  
<vi5gk5$3kh0j$1@dont-email.me>

View for Bookmarking (what is this?)
Look up another Usenet article

Path: ...!eternal-september.org!feeder3.eternal-september.org!news.eternal-september.org!.POSTED!not-for-mail
From: mm0fmf <none@invalid.com>
Newsgroups: comp.sys.raspberry-pi
Subject: Re: OT: horrible 8086 segmentation
Date: Tue, 26 Nov 2024 22:03:49 +0000
Organization: A noiseless patient Spider
Lines: 48
Message-ID: <vi5gk5$3kh0j$1@dont-email.me>
References: <vi2cdh$2t0i8$1@dont-email.me> <lqmf9uF4bggU1@mid.individual.net>
 <QLo1P.24429$eMe8.6873@fx06.iad>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit
Injection-Date: Tue, 26 Nov 2024 23:03:50 +0100 (CET)
Injection-Info: dont-email.me; posting-host="b4e3b7e6c379903684c86cc67998acf8";
	logging-data="3818515"; mail-complaints-to="abuse@eternal-september.org";	posting-account="U2FsdGVkX1/UEW2CCDJHob7A4uzrbzhG"
User-Agent: Mozilla Thunderbird
Cancel-Lock: sha1:zrqLfdjMe0mdEjoWdyHUnADEBKI=
In-Reply-To: <QLo1P.24429$eMe8.6873@fx06.iad>
Content-Language: en-GB
Bytes: 2856

On 26/11/2024 18:50, Charlie Gibbs wrote:
> On 2024-11-26, Josef Möllers <josef@invalid.invalid> wrote:
> 
>> On 25.11.24 18:33, mm0fmf wrote:
>>
>>> My eyes! My eyes! That was COMPACT model code, so 64k of code and 1MB of
>>> data, code addresses were 16bit offsets to the CS reg and data was far
>>> so 32 bits of segment and offset of DS or ES. And of course you had to
>>> be extra careful of any pointer arithmetic as a far pointer wrapped
>>> after 64k. You had to use slower HUGE pointers to get automatic
>>> normalisation. God it was shit.
>>
>> And to consider that, at that time, processors like MC68000 or NS32016
>> were readily available.
> 
> Which proves once again that a shitty design beats a good one
> if it's released first.
> 
> Everybody was yapping about the 640K barrier.  I was more concerned
> with the 64K barrier.  I remember manually normalizing pointers
> everywhere, and if I wanted to work with a large arrays of structures
> I'd copy individual structures to a work area byte by byte so I
> didn't get bitten by segment wrap-around in the middle of a structure.
> 
> As the joke goes, aren't you glad the iAPX432 died out?
> Otherwise a truly horrible Intel architecture might have
> taken over the world.
> 

I found this when digging around...

"void KERNELsetvect(unsigned wVec, void far *pVect)
{
	void far * far *pPtr ;

	pPtr = (void far * far *) MK_FP(0x0000, wVec << 2) ;
	*pPtr = pVect ;
}"

It simply looks so ugly.

ISTR trying to push to use 68000 or even 68E020 but 80186EB became the 
CPU of choice. It had lots of nice embedded features on chip and ran at 
20MHz. And you could use PC development tools.

It's 26 years since I had to deal with this segmented rubbish and a lot 
of it I had forgotten or repressed!