Subj : Re: OT: horrible 8086 segmentation To : All From : The Natural Philosopher Date : Wed Nov 27 2024 11:40:07 On 26/11/2024 17:37, Josef Möllers wrote: > On 25.11.24 18:33, mm0fmf wrote: > [...] > >> e.g. >> " >>      // start of barrel >>      EventRec far* searchp = (EventRec far*) work.bufs; >> >> " >> >> >> 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. > Backwards compatibility. DOS came from 8080 based CP/M , to run on an 8086, to where 8 bit code could be easily ported. And so we were stick with that architecture. A prime example off 'mass marketing always wins over excellence' and 'nothing succeeds like success' -- Labour - a bunch of rich people convincing poor people to vote for rich people by telling poor people that "other" rich people are the reason they are poor. Peter Thompson --- SoupGate-Win32 v1.05 * Origin: Agency HUB, Dunedin - New Zealand | Fido<>Usenet Gateway (3:770/3) .