home *** CD-ROM | disk | FTP | other *** search
/ CD Actual 8 / CDACTUAL8.iso / share / os2 / graficos / gle / faq.txt < prev    next >
Encoding:
Text File  |  1994-05-27  |  6.8 KB  |  221 lines

  1. --------------------------------------------------------------------------------
  2. FAQ.TXT         DPMI-RSX  (c) Rainer Schnitker            May 1994
  3. --------------------------------------------------------------------------------
  4.  
  5.  
  6.     (1) GRAPHIC programs under OS2
  7.     (2) Copyright message
  8.     (3) read-only files with TeX386
  9.     (4) Memory problems (DYN:  out of memory)
  10.     (5) INFO.EXE bugs with RSX
  11.     (6) Running RSX in a Windows NT DOS-BOX
  12.     (7) EMXL.EXE
  13.     (8) File-Handles
  14.     (9) RSX packages
  15.  
  16.  
  17.  
  18.  
  19.  
  20.  
  21.  
  22.  
  23.  
  24.  
  25. --------------------------------------------------------------------------------
  26.  
  27. (1) GRAPHIC programs under OS2
  28.  
  29. > ... problems with POV
  30. > However, it doesn't do so well under OS/2. ...
  31. > .. when I run display, the gnu graphics viewer, under OS/2)
  32.  
  33. > I am trying to compile a simple DOS program that runs in an OS/2 VDM and
  34. > all it does is int 10h to go into 320x200x256 mode
  35.  
  36. RSX3a returns a linear address from memaccess(). This address and the base
  37. of the selector are in the range from A0000L to C0000L for example.
  38.  
  39. DOS hosts like Qemm, 386Max and Windows 3.1 have the same physical
  40. address here. So you touch the screen. OS2 not.
  41.  
  42. RSX4 uses the DPMI-sevice "Segment to Selector" and gets the base address
  43. from this selector. Hope that this way fixes the OS/2 problem.
  44. Please, send a mail to me.
  45.  
  46.  
  47. Other way:
  48.  
  49. I read that OS/2 wants selectors like B800. So you need far pointers!
  50. Try this:
  51.  
  52. static inline set_gs_b800(void)
  53. {
  54.     __asm__ ( "movw $0xB800, %%gs");
  55. }
  56.  
  57. static inline void set_video_word(unsigned int offset, unsigned short value)
  58. {
  59.     __asm__ __volatile__ (
  60.     "movw %0, %%gs:%1"
  61.     : /* no output */
  62.     : "r" ((unsigned short) value) , "r" (offset)
  63.     );
  64. }
  65.  
  66. static inline unsigned short get_video_word(unsigned int offset)
  67. {
  68.     unsigned short _ret;
  69.     __asm__ __volatile__ (
  70.     "movw %%gs:%1, %0"
  71.     : "=r" (_ret)
  72.     : "r" (offset)
  73.     );
  74.     return _ret;
  75. }
  76.  
  77.  
  78. -------------------------------------------------------------------------------
  79.  
  80. (2) Copyright message
  81.  
  82. > When I run the OS/2 EMX compiled Gnu grep V1.6, for example, in an
  83. > OS/2 DOS box, I get the RSX copyright message.
  84.  
  85. > Is there a hidden option ("quiet") that controls this behavior?
  86. > Something I can put in RSXOPT?
  87.  
  88. The RSX-test for a bound EXE-file uses the header from EMX 0.8g.
  89. Older stubs don't verbose the RSX-message.
  90.  
  91. Try 'emxbind -u \emx\bin\emxl.exe myprog.exe' with a stub >= 0.8g.
  92. This should work.
  93.  
  94.  
  95. -------------------------------------------------------------------------------
  96.  
  97. (3) read-only files with TeX386
  98.  
  99. > .. Mattes' tex386 under Windows3.1.
  100. > But the file are read-only!
  101.  
  102. Get RSX version >= 2a. This versions fixes TeX386 umask bug.
  103.  
  104. -------------------------------------------------------------------------------
  105.  
  106. (4) Memory problems
  107.  
  108. > What does the TeX386 message
  109. >    DYN:  out of memory
  110. > mean?
  111.  
  112. This is a TeX message. You must have more memory.
  113.  
  114. > Is 3.7 MB RAM insufficient for rsx and rsxwin?  If so, why?  If it
  115. > should be enough, then what can the cause of the `out of memory'
  116. > statement be?
  117. > Does rsx use virtual memory?    If so, how much does it need?  If not,
  118. > can you please explain why VM is of no use?
  119.  
  120. If you run TeX386 you need 3-4 MB virtuel memory (yes, RSX use this).
  121. The memory information from Windows in always too big.
  122.  
  123. A *permanent* swapfile is recommend.
  124.  
  125. More information is availble in install.txt in chapter "Get mode DPMI memory".
  126.  
  127. -------------------------------------------------------------------------------
  128.  
  129. (5) INFO.EXE bugs with RSX
  130.  
  131. > kennst Du einen Weg wie man das Helpsystem des emx/gcc unter DOS lesen
  132. > bzw. verwenden kann?
  133. > Gibt es einen patch der diese Files unter windows/ dos zug"anglich
  134. > macht?
  135.  
  136. > I can't run INFO.EXE with RSX. There are problems with the cursor keys.
  137.  
  138. RSX 2-3 has a read_kbd() bug. RSX4 is ok.
  139.  
  140. -------------------------------------------------------------------------------
  141.  
  142. (6) Running RSX in a Windows NT DOS-BOX
  143.  
  144. > Kann ich den DOS-Extender dazu "uberreden, unter Windows NT zu laufen?
  145.  
  146. > Does RSX3a run with Windows NT?
  147.  
  148. Use 'RSX -e prog' option, or set RSXOPT=-e, if you have no coprocessor.
  149.  
  150. > .. EmTeX tex386 beta 11 l"auft mit RSXOPT=-e unter Windows NT
  151.  
  152.  
  153. -------------------------------------------------------------------------------
  154.  
  155. (7) EMXL.EXE
  156.  
  157. > I have a simple question. How do I make fork() work with emx-0.8h ? When
  158. > I compile the program fork.c given in the sample subdirectory and try to
  159. > run it, it dies with an error message that fork is not supported under
  160. > msdos. I even compiled fork.c with fork.s but still no luck. I have set
  161. > emx to point to rsx.exe in my setup file.
  162.  
  163. I think you are running emx.exe.
  164. try:  "rsx fork.exe"
  165.  
  166. The emx0.8h emxl stub first tests for a DPMI host.
  167.  
  168. If it found *only* DPMI, it searches for rsx.exe in the current directory,
  169. in the environment RSX or in the PATH.
  170.  
  171. If it found other extended memory standards, it searches for emx.exe
  172. in the current directory, in the environment EMX or in the PATH.
  173. ( Qemm386, 386Max support VCPI and DPMI, so emxl try this)
  174.  
  175. You should set the environment EMX and RSX to c:\rsx\bin\rsx.exe, if
  176. you plan to run programs with fork(), because EMX don't support this.
  177.  
  178.  
  179. -------------------------------------------------------------------------------
  180.  
  181. (8) File-Handles
  182.  
  183. > In Deinem DOS-Extender ist eine aergerliche Begrenzung in Form
  184. > von maximal 20 File-Handles enthalten.
  185. > Laesst sich dies ohne weiteres umgehen, oder ist die Sache
  186. > 'fest'-verdrahtet ?
  187. > Ansonsten ist der Extender genau das Bindeglied, was ich
  188. > lange gesucht hatte (OS/2 - emx0.8h/RSX - DOS) :-)
  189.  
  190. Bei RSX3a kann man einfach int86() benutzen, um die Handles raufzusetzen
  191. (DOS Funktion: set handles limit, ah=0x67). Hier kann die Anzahl beliebig sein.
  192. Die C-Lib kann aber nur einen Process mit 40 Handles verwalten.
  193.  
  194. Bei RSX4 wird jeder Process bis zu 40 Handles benutzen koennen.
  195. Es gibt dann einen Option wie bei EMX ( -hXX ).
  196.  
  197. > How many file handles can I use with RSX3a ?
  198.  
  199. The default value is 20. You can increase this value with int86() AX=0x67.
  200. RSX and the EMX C Library can handle 40 files per process.
  201.  
  202. RSX4 has the option "-hxxxx", where xxxx are the number of handles.
  203.  
  204. -------------------------------------------------------------------------------
  205.  
  206. (9) RSX packages
  207.  
  208. > Do you know of a way to use gcc to create native windows 3.1 apps?
  209. > I need Objective-C for Windows, but there is no such thing available
  210. > right now except djgpp.
  211.  
  212. I wrote 3 packages (ftp.uni-bielefeld.de):
  213. 1) RSX, to run EMX/GCC and DJGPP programs with DPMI
  214. 2) RSXWIN, to run text-mode EMX/GCC programs in Windows 3.1 window.
  215. 3) RSXWDK (Rsx Window Development Kit) to build full 32bit window apps.
  216.  
  217. EMX/GCC contains Objective-C. With RSX or RSXWIN you can run this under
  218. Windows in a DOS-BOX or in a window.
  219. With RSXWDK you can build full 32bit window apps.
  220.  
  221.