aboutsummaryrefslogtreecommitdiffstats
path: root/distrib/sdl-1.2.15/README.wscons
diff options
context:
space:
mode:
Diffstat (limited to 'distrib/sdl-1.2.15/README.wscons')
-rw-r--r--distrib/sdl-1.2.15/README.wscons107
1 files changed, 107 insertions, 0 deletions
diff --git a/distrib/sdl-1.2.15/README.wscons b/distrib/sdl-1.2.15/README.wscons
new file mode 100644
index 0000000..349c89c
--- /dev/null
+++ b/distrib/sdl-1.2.15/README.wscons
@@ -0,0 +1,107 @@
+==============================================================================
+Using the Simple DirectMedia Layer with OpenBSD/wscons
+==============================================================================
+
+The wscons SDL driver can be used to run SDL programs on OpenBSD
+without running X. So far, the driver only runs on the Sharp Zaurus,
+but the driver is written to be easily extended for other machines.
+The main missing pieces are blitting routines for anything but 16 bit
+displays, and keycode maps for other keyboards. Also, there is no
+support for hardware palettes.
+
+There is currently no mouse support.
+
+To compile SDL with support for wscons, use the
+"--enable-video-wscons" option when running configure. I used the
+following command line:
+
+./configure --disable-oss --disable-ltdl --enable-pthread-sem \
+ --disable-esd --disable-arts --disable-video-aalib \
+ --enable-openbsdaudio --enable-video-wscons \
+ --prefix=/usr/local --sysconfdir=/etc
+
+
+Setting the console device to use
+=================================
+
+When starting an SDL program on a wscons console, the driver uses the
+current virtual terminal (usually /dev/ttyC0). To force the driver to
+use a specific terminal device, set the environment variable
+SDL_WSCONSDEV:
+
+bash$ SDL_WSCONSDEV=/dev/ttyC1 ./some-sdl-program
+
+This is especially useful when starting an SDL program from a remote
+login prompt (which is great for development). If you do this, and
+want to use keyboard input, you should avoid having some other program
+reading from the used virtual console (i.e., do not have a getty
+running).
+
+
+Rotating the display
+====================
+
+The display can be rotated by the wscons SDL driver. This is useful
+for the Sharp Zaurus, since the display hardware is wired so that it
+is correctly rotated only when the display is folded into "PDA mode."
+When using the Zaurus in "normal," or "keyboard" mode, the hardware
+screen is rotated 90 degrees anti-clockwise.
+
+To let the wscons SDL driver rotate the screen, set the environment
+variable SDL_VIDEO_WSCONS_ROTATION to "CW", "CCW", or "UD", for
+clockwise, counter clockwise, and upside-down rotation respectively.
+"CW" makes the screen appear correct on a Sharp Zaurus SL-C3100.
+
+When using rotation in the driver, a "shadow" frame buffer is used to
+hold the intermediary display, before blitting it to the actual
+hardware frame buffer. This slows down performance a bit.
+
+For completeness, the rotation "NONE" can be specified to use a shadow
+frame buffer without actually rotating. Unsetting
+SDL_VIDEO_WSCONS_ROTATION, or setting it to '' turns off the shadow
+frame buffer for maximum performance.
+
+
+Running MAME
+============
+
+Since my main motivation for writing the driver was playing MAME on
+the Zaurus, I'll give a few hints:
+
+XMame compiles just fine under OpenBSD.
+
+I'm not sure this is strictly necessary, but set
+
+MY_CPU = arm
+
+in makefile.unix, and
+
+CFLAGS.arm = -DLSB_FIRST -DALIGN_INTS -DALIGN_SHORTS
+
+in src/unix/unix.max
+
+to be sure.
+
+The latest XMame (0.101 at this writing) is a very large program.
+Either tinker with the make files to compile a version without support
+for all drivers, or, get an older version of XMame. My recommendation
+would be 0.37b16.
+
+When running MAME, DO NOT SET SDL_VIDEO_WSCONS_ROTATION! Performace
+is MUCH better without this, and it is COMPLETELY UNNECESSARY, since
+MAME can rotate the picture itself while drawing, and does so MUCH
+FASTER.
+
+Use the Xmame command line option "-ror" to rotate the picture to the
+right.
+
+
+Acknowledgments
+===============
+
+I studied the wsfb driver for XFree86/Xorg quite a bit before writing
+this, so there ought to be some similarities.
+
+
+--
+Staffan Ulfberg <staffan@ulfberg.se>