DOS/Mesa driver updates (Daniel Borca)
diff --git a/docs/README.DJ b/docs/README.DJ
index 8b3a0f5..8b4e6dc 100644
--- a/docs/README.DJ
+++ b/docs/README.DJ
@@ -1,5 +1,5 @@
- Mesa 4.0.1 DOS/DJGPP Port version 0.3
- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ Mesa 4.0 DOS/DJGPP Port version 0.4
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
@@ -21,16 +21,29 @@
~~~~~~~~~~~~~
Type "make -f Makefile.DJ" to compile the libraries. Long filename support is
-required during compilation. The examples are not built automagically (see
-Pitfalls below).
+required during compilation. Also, you must have the DXE2 package (available
+on SimTel.Net, courtesy of Andrew Zabolotny) installed in order to build the
+dynamic modules; if you encounter errors, you can fetch a patched version from
+my web page.
+The demos are not built automagically (see Pitfalls below). To make them, use
+one of the following rules:
+ Static:
+ gcc -o OUT.exe IN.c -lglut -lglu -lgl
+ Dynamic:
+ gcc -o OUT.exe -include dmesadxe.h IN.c -ligl -liglu -liglut -ldl
+Usage of the dynamic modules requires three things:
+ - include DMESADXE.H in one of the sources, so references inside
+ dynamic modules will get resolved (or use `-include' directive)
+ - link against import libraries (libIgl*.a) and LIBDL.A, which will do
+ the dynamic linkage job for you
+ - put the DXEs somewhere along the library path (LD_LIBRARY_PATH) or
+ in the current directory
Tested on:
CPU: Intel Pentium w/ MMX @166 MHz
Mainboard: ViA Apollo VP2 w/ 128 MB SDRAM
Video card: Matrox Millenium 2064W w/ 2048 kB WRAM, BIOS v3.0
- DJGPP: djdev 2.03
- gcc v3.0.3
- make v3.79
+ DJGPP: djdev 2.03 + gcc v3.0.3 + make v3.79
@@ -76,7 +89,11 @@
for keys, I borrowed the translation tables (and maybe more) from Allegro.
Ctrl-Alt-Del (plus Ctrl-Alt-End, for Windows users) will shut down the GLUT
engine unconditionally: it will raise SIGINT, which in turn will call the
-destructors (let's hope), thus cleaning up your/my mess ;-)
+destructors (let's hope), thus cleaning up your/my mess ;-) NB: since the
+DJGPP guys ensured signal handlers won't go beyond program's space (and since
+dynamic modules shall) the SIGINT can't be hooked (well, it can, but it is
+useless), therefore you must live with the 'Exiting due to signal SIGINT'
+message...
The mouse driver is far from complete (lack of positioning, drawing, etc),
but is enough to make almost all the demos work.
@@ -90,7 +107,8 @@
As an addition, stdout and stderr are redirected and dumped upon exit. This
means that printf can be safely called during graphics, but all messages come
in bulk! A bit of a hack, I know, but I think it's better than to miss them
-at all.
+at all. "Borrowed" from RHIDE (Robert Hoehne) or SETEDIT (Salvador Eduardo
+Tropea)... I'm not sure.
Window creating defaults: 640x480x16 at (0,0), 8-bit stencil, 16-bit accum.
However, the video mode is chosen in such a way that first window will fit.
@@ -113,6 +131,7 @@
! minor PC_HW corrections
v0.3 mar-2002 - removed FreeBE/AF code
- removed single-buffer modes
+v0.4 mar-2002 + dynamic module support