INTL 3:770/1 3:770/3
REPLYADDR none@invalid.com
REPLYTO 3:770/3.0 UUCP
MSGID: c801076d
REPLY: 7e39af52
PID: SoupGate-Win32 v1.05
On 26/11/2024 18:50, Charlie Gibbs wrote:
> On 2024-11-26, Josef Möllers 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!
--- SoupGate-Win32 v1.05
* Origin: Agency HUB, Dunedin - New Zealand | Fido<>Usenet Gateway (3:770/3)
SEEN-BY: 4/0 88/0 90/0 105/81 106/201 128/187 129/305 153/757 7715
SEEN-BY: 218/700 840 220/70 221/1 6 360 226/17 30 100 227/114 229/110
SEEN-BY: 229/111 114 200 206 300 317 400 426 428 470 550 616 664 700
SEEN-BY: 266/512 267/800 282/1038 291/111 292/854 301/1 310/31 320/219
SEEN-BY: 322/757 335/364 341/66 342/200 396/45 460/58 633/280 712/848
SEEN-BY: 770/1 3 100 330 340 772/210 220 230 880/1 900/0 102 106 902/0
SEEN-BY: 902/19 26 930/1 5020/400 5075/35
PATH: 770/3 1 218/840 221/6 341/66 902/26 229/426
|