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 2,958 of 4,255   
   mutazilah@gmail.com to All   
   interesting analogy   
   02 Dec 21 14:21:54   
   
   From: muta...@gmail.com   
      
   In the MSDOS-like environment I use, when an application   
   wishes to open a file, it can call PosOpenFile() and that   
   gets transformed into the normal INT 21H call, and then   
   PDOS gets that call, and reconstructs a call to the   
   PosOpenFile() function that is part of PDOS.   
      
   In some circumstances the INT 21H could be bypassed,   
   and an application's PosOpenFile directly calls the OS   
   function (as a test harness) or uses a function pointer   
   (that's  what PDOS-generic does).   
      
   Now if we look at fullscreen applications, the application   
   may do some sort of API call to set the cursor position,   
   e.g. BosSetCursorPosition(). The BIOS actually has a   
   function that does that, which is why I used the same   
   name. But the MSDOS rules don't provide such a function.   
   You are instead required to send ANSI escape sequences.   
      
   So what you end up with is the application internally   
   making BosSetCursorPosition() generate an ANSI escape   
   sequence to do that, and then MSDOS's ansi.sys would   
   interpret that and call the BIOS function, basically what   
   you started with. So ANSI is some sort of communications   
   protocol, allowing an application to do a BIOS call without   
   doing the BIOS call.   
      
   It seems to me that we need applications that did direct   
   INT 10H BIOS calls to instead call a nice function to do   
   that, ie BosWriteCharAttrib() or whatever, which is part   
   of a library that generates ANSI escape sequences, to do   
   it properly. Improperly, the library directly does the BIOS   
   call, not requiring ansi.sys to be loaded. But at least the   
   application source code is technically correct. You just   
   need to replace the Bos* library.   
      
   BFN. Paul.   
      
   --- 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