# History of RSXNT

RSXNT 1.50

- rsxnt source code is now distributed under the terms of the GNU General Public License
- emx documents in compiled html format (with new tool for building html help projects)
- rsxide 1.2
- September 99 Platform SDK support
- Anders Norlander Win32 headers
- new file handle mapping for child processes
- add sendto/recvfrom functions
- support of winsock v2.0
- overloaded emx library functions: assert()

RSXNT 1.42

- emx 0.9d support
- new program emxinc that patches the C++ headers to long filenames
- new library mscompat.a: contains MS extensions _get_osfhandle() and _open_osfhandle()
- bug fix: new mapping function for Win32 errors to C errno (f.e.: mkdir and rmdir)
- bug fix: errno for spawnve, portaccess and chsize
- bug fix: cmdline in WinMain and spaces in the path name
- bug fix: findfirst/findnext and compressed files
- bug fix: _endthread() does not close thread handle

RSXNT 1.41

- ntbind exports ordinal numbers
- makelib includes hints instead ordinal numbers
- \rsxnt\source\rsxnt\sys files changed:
  ACCEPT.C, RECV.C, SEND.C, CLOSE.C, SOCKET.C, READ.C, GETCWD.C, SPAWNVE.C, PTRACE.C, WAIT.C, WAITPID.C, PAUSE.C, SLEEP.C, SLEEP2.C
- \rsxnt\source\rsxnt\helper files changed:
  INITSOCK.C, DLL.C, DOFORK.C, HEAP.C, INIT.C, HEAPSIZE.C, DOPTRACE.C, TRUNCATE.C, DOSCALL.C, DLL0W32.S
- rsxide 1.1 new version
- move \rsxnt\include\emx files to \rsxnt\include
- use real Win32 PID in spawnve(), wait() and waitpid ()
- fixed bugs in accept, recv, socket, send, select and close for sockets
- map Win32 ReadFile error ERROR_BROKEN_PIPE to read return 0
- syslib: add signal handling for sleep, sleep2, pause
- syslib: getcwd: fix drive letter
- fix bug in gcc makefile for rsxnt.dll
- support Microsoft January 98 Platform SDK

RSXNT 1.40:

- _beginthreadex()/_endthreadex() supported
- added function call __fcntl (handle, 6) to get OS filehandle
- system library
- shared system library/rsxnt.dll source code (gcc/watcomc)
- DLL stand-alone support
- video library ported to Win32
- video source code and wm_demo sample
- frame-based exception handler (__try and __except)
- gdb work now under NT
- socket bugs fixed; new socket sample
- -Zdll-nrte link bug fixed
- support September 97 Platform SDK files
- fix termio handler (invalid char by switching DOS boxes)
- system(), do not use a quote for command.com

RSXNT 1.31:

- support of Win32 Platform SDK Include files
- ST and MT library directories, allows -Zcrtdll=crtrsxnt
- lib2dll tool
- kill() works for other processes
- modified sample apps: enumw
- bugfix: grc does not return 3, even if resource is ok
- bugfix: makelib handles export section in rdata
- bugfix: wait() return error, gcc -pipe now works!!
- bugfix: automatic TZ string to uppercase
- bugfix: stat() returns different st_ino
- bugfix: fstat() handles console and pipe handles
- bugfix: fix crtrsxnt.h for errno in single runtime dll
- bugfix: ansi emulation uses backgraound color to clear the screen

RSXNT 1.30:

- new tool rsxwin32 (windowed command shell)
- singlethread and multithread C runtime DLL
- C runtime DLL support fixed (you must include crtrsxnt.h)
- Bound Help file for rsxnt, rsx, rsxwin and rsxide (rsxbooks.hlp)
- switch -Zemx32 removed
- RSXIDE, help file in DOC directory, edit text files with double click
- RSXIDE fix for new version of zeus v2
- emx 0.9c support
- tools can be compiled with the emx, djgpp and linux gcc
- long and short filenames in findfirst() / findnext() -> example findfirs
- ntbind moves BSS into DATA
- ntbind supports original LD.EXE from EMX 0.9c
- makelib / ntbind bug (exporting data) fixed
- makelib can read export sections inside text segment (msvc4)
- rsxnt.dll: emx syscall 0x0a fixed
- rsxnt.dll: uses OemToChar / CharToOem functions for console applications file I/O
- rsxnt.dll: system() or spawn("command.com") argument bug-fix
- rsxnt.dll: the TZ environment will be set if TZ is not defined at startup (emx 0.9c specs)

RSXNT 1.2:

- NT support
- VT100/ANSI.SYS support for stdout (necessary for NT)
- multithread library support (_beginthread() function)
- fork() support
- new resource compiler (grc)
- new resource linker (rsrc)
- more Win32 include files (not yet complete)
- uncommitted stack size is one megabyte (Win95 default)
- committed stack size is 8 KB (use gcc -mprobe)
- bug fixed in makelib (faster than 1.1)
- bugs fixed in ntbind
- bugs fixed in rsxnt.dll
- patched LD.EXE for Win32 executables
- ntbind support for new LD format
- updated rsxwin 3d
- new stub for bound programs
- new specs file

RSXNT 1.1:

- New command-line switches for GCC (-Zwin32, -Zrsx32, -Zemx32)
- Support of switch -Zno-rte for DLLs (no run-time-environment)
- RSXNT.DLL can be called from multiple processes (Win32s)
- NT09B ready (EMX-0.9B files re-linked with RSXNT11)
- GDB works now (in archive NT09B-1b.ZIP)
- Support of STDCALL. You must recompile all your source files.
- Libraries compiled with STDCALL
- Library names changed
- Many bug fixes in NTBIND.DLL
- New tool RELOC, to change the image base of the Win32 file.
- New tool RSXPIPE to run console apps in a window
- new library RSXIOAPP to build windowed applications
- new file specs to create Win32 apps with the options -Zxxx32
- RSX version 5b, can also run bound programs with BaseOfImage = 0x400000.
- RSXWIN version 3c, bound program support

RSXNT 1.0a:

- some bugs fixed in Ntbind and other tools

RSXNT 1.0:

- first release