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