home bbs files messages ]

Forums before death by AOL, social media and spammers... "We can't have nice things"

   alt.os.development      Operating system development chatter      4,255 messages   

[   << oldest   |   < older   |   list   |   newer >   |   newest >>   ]

   Message 3,245 of 4,255   
   mutazilah@gmail.com to wolfgang kern   
   Re: segmentation   
   02 Sep 22 10:20:37   
   
   From: muta...@gmail.com   
      
   On Friday, September 2, 2022 at 6:53:49 PM UTC+8, wolfgang kern wrote:   
   > On 01/09/2022 14:48, muta...@gmail.com wrote:   
   >   
   > [...]   
   > > No, default status is no wraparound, but some   
   > > environments may wrap around anyway due to the fact   
   > > that there are 20 or fewer address lines.   
   > The KEY to wrap around at 1MB once was the A20 gate,   
   > it's now just an historical thing found only in museums.   
   > PCs don't even have an A20 gate anymore (==always ON).   
   >   
   > the HMA (0010_0000 aka FFFF:0010..) was very often used   
   > by DOS and friends, so they needed A20 ON.   
   >   
   > easy to make it wrap at 1MB with segment limits.   
   > but it will wrap only if the access is aligned while   
   > crossing the boundary with a multi-byte instruction   
   > end up in a Seg-Fault or with an GP-error if PM.   
   > __   
   > wolfgang   
      
   Sure. What I'm looking for is a set of rules   
   to follow, with the benefit of hindsight.   
      
   From memory, the PSP used when a .com file   
   is loaded, makes use of address wrap.   
      
   Rather than just say that .com files should   
   not be supported, given that someone   
   actually wants this feature, the rule simply   
   needs to say that you need to do a deliberate   
   bios call to switch this feature on.   
      
   If you don't, your code will work now, but when   
   the 80286 comes out with more than 20   
   address lines, your code will break.   
      
   I don't care if code breaks, I just want   
   sensible rules to follow.   
      
   If msdos 2.0 breaks because they didn't   
   do the required bios call, I don't care. I will just   
   email bill asking for a bug fix.   
      
   If he doesn't reply to my email, I don't   
   care. I will use pdos/86 instead.   
      
   And I think when I was looking at the PSP   
   I saw that an alternative solution would be   
   to store a little bit of code at the 1 MB location.   
      
   If existing code is using the beginning of   
   the HMA, then my response is to change   
   your code.   
      
   I am not trying to run every bit of   
   unsupported binary code in existence.   
      
   I am trying to run supported software with   
   source code where the vendor agrees   
   with the desire to clean up rm16.   
      
   Note that the above probably restricts the   
   number of vendors to 1, but I don't care about   
   that either.   
      
   It's a theoretical problem.   
      
   It isn't just the 8086, it's any   
   16:16 processor with an initial shift   
   of 4 bits, with intention to be flexible   
   in the future regarding shift bits.   
      
   Shift bits could be anything from 0 to 16,   
   because there is a mathematical possibility.   
   Actually, I think 0 should be ruled out as a   
   logical number in segmentation.   
      
   Basically this is a theoretical problem in   
   computer science I would like to solve or explore.   
      
   Actually constructing a time machine and hiring   
   ninjas to assassinate certain key engineers   
   and managers at Intel is beyond scope.   
   For now.   
      
   --- SoupGate-Win32 v1.05   
    * Origin: you cannot sedate... all the things you hate (1:229/2)   

[   << oldest   |   < older   |   list   |   newer >   |   newest >>   ]


(c) 1994,  bbs@darkrealms.ca